expected single matching bean but found 2: xxx, yyy

字面意思理解,期望得到一个类,但是发现了两个:xxx,yyy。

这时解决方案有两个,一个是在引用的地方指定。比如使用@Autowired引入,则可以使用@Qualifier("xxx")进行指定,或者直接将@Autowired替换为@Resource("xxx")。

另一个方法是在创建Bean的地方加Primary,比如如果是@Bean方式生成,则可以加@Primary注解;如果是SpringMVC的xml文件中的bean,则可以直接加primary="true"。

第一个方案比较灵活,但有些情况不适用,比如@Autowired地方太多,改起来很耗时,或者引入的地方都是jar包class文件,无法改动,这时候就只能用第二种方案了。

相关推荐
西岭千秋雪_22 分钟前
Kafka客户端整合
java·spring boot·分布式·kafka·linq
leonardee27 分钟前
Golang笔记——Interface类型
java·后端
我是好小孩33 分钟前
【Android】RecyclerView的高度问题、VH复用概念、多子项的实现;
android·java·网络
张彦峰ZYF35 分钟前
高并发优惠权益聚合接口的优雅实现(含超时控制 + 来源标识 + Fallback 降级)
java·后端·面试
4Forsee37 分钟前
【Android】模板化解决复杂场景的滑动冲突问题
android·java·rpc
若水不如远方41 分钟前
深入 Dubbo 服务暴露机制:从注解到网络的完整链路剖析
java·dubbo
tanxinji43 分钟前
Netty编写Echo服务器
java·netty
LBuffer1 小时前
破解入门学习笔记题四十七
java·笔记·学习
可可苏饼干1 小时前
TOMCAT
java·运维·学习·tomcat