spring依赖注入单元测试:expected single matching bean but found 2
Posted 沧海一滴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring依赖注入单元测试:expected single matching bean but found 2相关的知识,希望对你有一定的参考价值。
异常信息:org.springframework.beans.factory.UnsatisfiedDependencyException:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.byd.mes.bussiness.service.siteoperation.activity.ExecuteActivityService] is defined: expected single matching bean but found 2: [executeActivityService, executeActivityForTesterService]
解决方案:
博文链接地址:http://haowei0315.javaeye.com/blog/444731
@Qualifier
@Autowired是根据类型进行自动装配的。在上面的例子中,如果当Spring上下文中存在不止一个UserDao类型的bean时,就会抛出BeanCreationException异常;如果Spring上下文中不存在UserDao类型的bean,也会抛出BeanCreationException异常。我们可以使用@Qualifier配合@Autowired来解决这些问题。
1. 可能存在多个UserDao实例
- @Autowired
- public void setUserDao(@Qualifier("userDao") UserDao userDao) {
- this.userDao = userDao;
- }
这样,Spring会找到id为userDao的bean进行装配。
2. 可能不存在UserDao实例
- @Autowired(required = false)
- public void setUserDao(UserDao userDao) {
- this.userDao = userDao;
- }
http://blog.csdn.net/hjjzhangkui/article/details/6052329
以上是关于spring依赖注入单元测试:expected single matching bean but found 2的主要内容,如果未能解决你的问题,请参考以下文章
SpringBug记录 -- java.lang.NullPointerException在Spring单元测试中遇到的空指针异常及依赖注入异常总结
Junit5 单元测试 使用Spring 依赖注入 Idea 提示报错, 但是实际运行是没问题的,怎么解决红字报错问题?