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文件,无法改动,这时候就只能用第二种方案了。

相关推荐
CV_J5 小时前
安装kibana
java·elasticsearch·spring cloud·docker·容器
码农水水7 小时前
国家电网Java面试被问:TCP的BBR拥塞控制算法原理
java·开发语言·网络·分布式·面试·wpf
qq_336313938 小时前
java基础-网络编程-TCP
java·网络·tcp/ip
咕噜咕噜啦啦8 小时前
Java期末习题速通
java·开发语言
盐真卿8 小时前
python2
java·前端·javascript
一嘴一个橘子9 小时前
mybatis - 动态语句、批量注册mapper、分页插件
java
组合缺一9 小时前
Json Dom 怎么玩转?
java·json·dom·snack4
危险、10 小时前
一套提升 Spring Boot 项目的高并发、高可用能力的 Cursor 专用提示词
java·spring boot·提示词
kaico201810 小时前
JDK11新特性
java
钊兵10 小时前
java实现GeoJSON地理信息对经纬度点的匹配
java·开发语言