(Error Creating bean with name ‘xxx‘)类问题解决思路

发表时间:2023-04-20 11:41:01点击:2182

出现这样的报错,意思就是说项目启动时无法创建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地址不对,也可能出现这种错误

根据控制台和日志的具体报错,定位到相关类,从以上几个方向去排查,应该很快就能解决!

*原创文章,转载请注明出处