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

相关推荐
健康平安的活着5 分钟前
springboot+sse的实现案例
java·spring boot·后端
05大叔20 分钟前
多线程的学习
java·开发语言·学习
小萌新上大分41 分钟前
synchronized的8锁问题(区分默认用的是那把锁) 笔记云备份
java·java多线程·synchronized·synchronized关键字·synchronized用法·多线程买票问题·java锁机制
sino爱学习1 小时前
别再踩 Stream 的坑了!Java 函数式编程安全指南
java·后端
Sunsets_Red1 小时前
2025 FZYZ夏令营游记
java·c语言·c++·python·算法·c#
自由生长20241 小时前
从流式系统中思考-C++生态和Java生态的区别
java·c++
⑩-2 小时前
SpringCloud-Feign&RestTemplate
后端·spring·spring cloud
培培说证2 小时前
2026大专Java开发工程师,考什么证加分?
java·开发语言·python
qq_336313932 小时前
java基础-方法引用
java·开发语言·算法
总是学不会.2 小时前
【JUC编程】一、线程的基础概念
java·开发语言·jvm