1 基本说明

使用@Qualifier可以分别为同样类型的Bean分别注入不同的依赖值


然后当我们@Autowired注入时就会出现异常,NoUniqueBeanDefinitionException, 以提示有多个满足条件的 bean 进行自动装配。程序无法正确做出判断使用哪一个。

  @Autowiredprivate  TestService testService;

2 @Qualifier 注解 可以解决上述问题

  @Autowired@Qualifier("testServiceImpl1")private  TestService testService;@Autowired@Qualifier("testServiceImpl2")private  TestService testService2;

通过将 @Qualifier 注解与我们想要使用的特定 Spring bean 的名称一起进行装配,Spring 框架就能从多个相同类型并满足装配要求的 bean 中找到我们想要的.

3 @Primary

对同一个接口,可能会有几种不同的实现类,如这里的 TestServiceImpl2 与 TestServiceImpl1.

@Service
public class TestServiceImpl1 implements TestService{@Overridepublic void test() {System.out.println("TestServiceImpl1 test 方法 ");}
}
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;@Service
@Primary
public class TestServiceImpl2 implements TestService{@Overridepublic void test() {System.out.println("TestServiceImpl2 test 方法 ");}
}

在使用 @Autowired 注解进行对象注入时,就会默认加载TestServiceImpl2

  @Autowiredprivate  TestService testService;

Spring的注解@Qualifier用法与简析相关推荐

  1. Spring的注解@Qualifier用法

    Spring的注解@Qualifier用法 在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl呢? 根据注入资源的注解不同实现的方式有一点小小的 ...

  2. 浅谈Spring框架注解的用法分析

    1.@Component是Spring定义的一个通用注解,可以注解任何bean. 2.@Scope定义bean的作用域,其默认作用域是"singleton",除此之外还有proto ...

  3. 浅谈 Spring 框架注解的用法分析

    1.@Component是Spring定义的一个通用注解,可以注解任何bean. 2.@Scope定义bean的作用域,其默认作用域是"singleton",除此之外还有proto ...

  4. Spring的注解@Qualifier注解

    概念 @Qualifier是Spring中的注解,是在使用Spring框架中@Autowired注解进行自动注入时,Spring 容器中匹配的候选Bean数目必须有且仅有一个 . 这是因为在使用Spr ...

  5. SpringBoot的注解@Qualifier用法

    在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl呢? 根据注入资源的注解不同实现的方式有一点小小的区别 下面上铺垫图 请忽略我的红线 ##在C ...

  6. C++ shared_ptr用法、简析、案例

    shared_ptr用法 1 shared_ptr简介 2 shared_ptr案例 2.1 reset()的理解 2.2 make_shared的理解 2.3 shared_ptr中的指针转型问题 ...

  7. Spring Boot源码简析 @Qualifier

    源码 @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementT ...

  8. Spring注解@Qualifier的详细用法你知道几种「扩展点实战系列」- 第444篇

    历史文章(文章累计440+) <国内最全的Spring Boot系列之一> <国内最全的Spring Boot系列之二> <国内最全的Spring Boot系列之三> ...

  9. Spring Boot源码简析 @EnableTransactionManagement

    相关阅读 Spring Boot源码简析 事务管理 Spring Boot源码简析 @EnableAspectJAutoProxy Spring Boot源码简析 @EnableAsync Sprin ...

最新文章

  1. 吗 使用的是_论文是可以反复使用吗?
  2. 从Windows Server 2003升级到2008
  3. linux dump用法,Linux命令之tcpdump命令用法介绍
  4. 想象中的同居生活 VS 真实的同居生活
  5. [vue] 说说你对slot的理解有多少?slot使用场景有哪些?
  6. LeetCode 604. 迭代压缩字符串
  7. linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(执行安装_07)
  8. git clone --depth=1 -b 4.24
  9. ehcache springboot_阿里内部进阶学习SpringBoot+Vue全栈开发实战文档
  10. 3dmax导出fbx没有贴图_SU教程 | 如何通过Skimp插件导入高质量模型、优化模型、匹配贴图?...
  11. 48.怎样消除桌面图标上的小箭头:
  12. 才子进销存软件各版本说明
  13. louvain算法python_【转载】LOUVAIN算法
  14. box-sizing的属性
  15. iOS代码质量要求_图片压缩(iOS)
  16. CSS实现元素翻转效果
  17. [TJOI2013]松鼠聚会
  18. Android【Socket通讯】
  19. 屏幕亮度自动调节的实现
  20. iperf 网速测速

热门文章

  1. css3实现绚丽照片墙
  2. GPT-4要革程序员的命?智能开发的理想与现实 | 爱分析调研
  3. 使用MethodInvoker委托进行跨线程访问
  4. 混沌工程-Netflix的捣蛋猴
  5. 【一】数据挖掘(DM)到底是何方神圣?
  6. full-speed-python 习题解答(二)
  7. C语言新手记:应用指针进行数组输入与输出
  8. 打算换个手机,感觉nokia还是不错的品牌选择
  9. iOS开发-支付宝手势解锁实现展示
  10. EL表达式c:out标签属性escapeXml属性