• 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实例

    [java] view plain copy
     
    1. @Autowired  
    2. public void setUserDao(@Qualifier("userDao") UserDao userDao) {  
    3.     this.userDao = userDao;  
    4. }  

    这样,Spring会找到id为userDao的bean进行装配。 
    2. 可能不存在UserDao实例

    [java] view plain copy
     
    1. @Autowired(required = false)  
    2. public void setUserDao(UserDao userDao) {  
    3.     this.userDao = userDao;  
    4. }  

      

     http://blog.csdn.net/hjjzhangkui/article/details/6052329

  • 相关阅读:
    命令行jarsigner签字和解决找不到证书链错误
    ERROR ITMS-90034
    module.exports 和 exports
    php扩展包
    switch的使用
    debug安卓屏幕滑动会抖动
    react native编译报错
    使用iTerm2替代Mac自带Terminal终端
    编码转换
    git 操作远程 本地缓存删除
  • 原文地址:https://www.cnblogs.com/softidea/p/6067756.html
Copyright © 2020-2023  润新知