Spring报错 | org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘xxx‘
关于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了,关自己啥事儿啊,突然间程序就起不来了,这种时候简直忍不住想要采取一些玄学手段试试哈哈哈。
上一篇: 淘宝网店-牛客网-c++