报错:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'xxx'is defined

简介: 报错:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'xxx'is defined

可能大家也都遇到过这个错,我在这里记录一下,截图可能看不清

201912122155236.png

其实就是这个错

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'xxx'is defined

看字面意思我们能够知道原因是spring异常:bean没有被定义,也就是说,spring容器中没有这个bean


解决方法:


大多数是有三种情况导致这个报错。


这里先说一下我的情况


1.没有把该bean注入到spring容器中


也就是我们需要查看spring配置文件是否配置该bean或者是否配置开启注解扫描、配置要扫描的包


这一点如果是没有想到的,那应该去再复习一下spring,我今天就看了一晚上


推荐两个比较官方的链接,不过是英文的网站:Baeldung、Spring


2.该bean是否存在,bean上是否有spring组件注解(如:@Component, @Resource, @Service, @Controller)、bean是否处于可扫描的包下


如果是属于这类问题的话,疏忽了可以理解,但是不清楚的话还是建议去巩固一下注解和spring方面的知识(这些我都还是需要去继续学习的)


可以看一下我整理的博客:spring注解:@Autowired 和@Resource


3.检查以下你的bean名,是否有书写失误


通过我的查询,此类错误导致的报错竟然很多,这就是一个细心的问题了


排查流程:


所以一般报错了,可以这样排查

1.看报错信息:bean 是否已经注入,或者得到的bean名字错误。

2.看spring的配置文件:是否扫描了正确的需要扫描的包

3.使用注解配置的话,看是否相关注解没有加


一般是这三种情况,三种情况都是没有问题的话,基本是可以的。可以尝试clean一把,再重新编译运行。


当然不排除其他情况,目前我还没了解到,如有,请告知!!!

目录
相关文章
|
3月前
Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationManager' in your configuration.
Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationManager' in your configuration.
81 0
|
4月前
|
Java Apache Spring
若依配Mapper,若依修改Caused by: org.springframework.beans.factory.BeanCreationException: Error creating
若依配Mapper,若依修改Caused by: org.springframework.beans.factory.BeanCreationException: Error creating
|
4月前
|
XML Java Apache
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘t
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘t
|
6月前
|
Java
SpringBoot注入出现@org.springframework.beans.factory.annotation.Autowired(required=true)
SpringBoot注入出现@org.springframework.beans.factory.annotation.Autowired(required=true)
78 0
|
Java 微服务 Spring
【Java异常】Spring boot启动失败@org.springframework.beans.factory.annotation.Autowired(required=true)
【Java异常】Spring boot启动失败@org.springframework.beans.factory.annotation.Autowired(required=true)
171 0
|
6月前
解决The injection point has the following annotations:@org.springframework.beans.factory.annotation错误~
解决The injection point has the following annotations:@org.springframework.beans.factory.annotation错误~
931 0
|
6月前
|
容器
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type ‘org.springframework.boot.autoconfigure.http.HttpMessageConverters‘ avail
No qualifying bean of type ‘org.springframework.boot.autoconfigure.http.HttpMessageConverters‘ avail
154 1
|
Java 数据库连接 Spring
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘ XXX‘
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘ XXX‘
168 0
|
Java 数据库连接
org.hibernate.cfg.Configuration.addAnnotatedClass(Ljava/lang/Class;)Lorg/hibernate/cfg/Configuration
Error creating bean with name 'entityManagerFactory' defined in file [E:\eclipseworkspace\wms_ims\.metadata\.plugins\org.eclipse.wst.server.core\tmp9\wtpwebapps\shopping\WEB-INF\classes\applicationContext-configuration.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMetho
100 0