欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring报错 | org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘xxx‘

程序员文章站 2022-05-14 18:16:25
...

关于Sprinf项目启动时报错:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'xxx'....

我承认这个问题我大概遇到过3 4 5 6 7 8次了吧,每次都只能记得上次有这个问题我找到原因解决了,但是原因是啥来着?好像挺简单的一个点,但是具体哪里,就是想不起来(可能是个猪脑子)

所以即使简单,也还是做个记录,免得下次猪脑子又想不起来

Round 1:

首先,是个可能不小心会遗漏的错误,就是在实现接口类中忘记加 @Service 注解了,不是吧不是吧,这错误还犯?好吧,马有失蹄总会忘记几次且自己死活注意不到的。

@Service
public class XxxServiceImpl implements XxxService {

}

Round 2:

在使用报错的某个bean的时候,如果你的那个Bean名字首字母是大写,那么你在使用这个bean的时候就要注意,默认需要在使用处把类名首字母改成小写;

比如你在 getBean("xxx",Xxx.class)的时候、setBeanName("xxxService");的时候。(擦,我就首字母顺手从类这边粘过去了,还是大写首字母,给我折腾找半天报错原因)

Round 3:

如果以上两个方向都没有问题,那么可以检查一下applicationContext.xml配置文件,也可能叫其他名字哈,spring-connfog.xml啥的等用到报错类的配置文件,看看是不是id不小心写错了名字啥的。

<bean id="xxxService"
    class="com.test.service.impl.xxxService">
</bean>

Round 4:

这种情况暂时自己没遇到过,是在我找问题途中看到 别人 踩得莫名其妙的坑哈哈哈哈哈

相同的mapper以及xml文件,关键是在不同的包里边。原博客请参考:https://blog.csdn.net/qq_37024898/article/details/91361249

有点替这位兄弟委屈哈哈哈哈哈,包冲突真的是又常见又委屈的bug了,关自己啥事儿啊,突然间程序就起不来了,这种时候简直忍不住想要采取一些玄学手段试试哈哈哈。

 

相关标签: 写了几个bug吖