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

相关推荐
考虑考虑6 小时前
JDK25模块导入声明
java·后端·java ee
_小马快跑_7 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
Re_zero10 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
洋洋技术笔记10 小时前
Spring Boot条件注解详解
java·spring boot
程序员清风1 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林5511 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
NE_STOP1 天前
springMVC-HTTP消息转换器与文件上传、下载、异常处理
spring
华仔啊1 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing1 天前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠2 天前
各版本JDK对比:JDK 25 特性详解
java