版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mingyundezuoan/article/details/81916559
异常信息
Caused by: org.springframework.beans.factory.BeanCreationException:
Error creating bean with name ‘userService’: Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type
异常场景
- 项目架构为多服务拆分,每个服务对应一个数据库,服务之间通过DUBBO接口相互调用
- B服务新增接口供A服务调用,B升级版本,A修改B的服务版本并调用B的方法进行逻辑处理,编译期无任何影响
- 启动项目开始报错,异常信息如上
- 通常看到这个异常马上去检查接口或DAO层的类标签@Service @Component 等标签,或依赖注入是否正确,但报错的位置是A引用B服务的接口找不到
- 又重启了B服务,检查是否服务有问题,B中引用是否有问题,但仔细想想,B中有问题应该是运行时才会报错,而不是A启动的时候报错
异常解决
- 突然想到A找不到B提供的接口依赖,可能是A中引用B服务的DUBBO配置文件中没有暴露本次需要提供的接口
- 修改配置文件,新增本次B服务提供的接口,服务启动正常
举一反三
- Dubbo 接口,两个项目间互相调用,首先检查调用方是否配置了该接口
- 出现注入异常,首先检查接口的实现类是否有相应的标签注入
- 检查报错的类,是否有引用其他接口但没有添加@Autowired @Resource 等标签