(Error Creating bean with name ‘xxx‘)类问题解决思路
出现这样的报错,意思就是说项目启动时无法创建bean,可能的情况有几种,逐一排查即可
1.该类没有被扫描到
spring配置文件中检查该类所在的包是否有被扫描,仔细检查自己的配置文件里和相关的配置路径,如果是SpringMVC项目,检查spring-mvc.xml文件中context标签里面的base-package的值,如果是springboot项目,检查启动类的@ComponentScan注解的值
2.检查配置类的注解
根据报错提示的类,如果是Service实现类,检查是否有@service注解,如果是配置相关的类,检查是否有@componet或者@Configuration注解。
比如,一个Service实现类缺少@service注解,或者一个Config类缺少@componet或者@Configuration注解,当在Controller里面调用他们的时候,就会报这种错
比如一个controller是这样的
@Controller
@RequestMapping("user")
public class UserController {
@Resource
private IUserService userService;
}
但是它引用的这个接口,对应的实现类没有@service注解
//
public class UserService implements IUserService{
//
}
3.DAO层配置文件缺失
如果使用的是mybatis的话,这种错误就比较典型。比如你写了一个dao接口,但是并没有对应的xxxMapper.xml,或者xml文件中的namespace映射的DAO地址不对,也可能出现这种错误
根据控制台和日志的具体报错,定位到相关类,从以上几个方向去排查,应该很快就能解决!