@Qualifier 注解的定义和注释

This annotation may be used on a field or parameter as a qualifier for candidate beans when autowiring. It may also be used to annotate other custom annotations that can then in turn be used as qualifiers.

该注解可以使用在类上、属性上、参数上、方法上

当使用在类上的时候,里面填写的@Qualifier值就是当前bean的唯一标识,在依赖该bean的地方使用@Autowired + @Qualifier 可以使用该bean的名称注入或者该bean前面指定的唯一标识

@Component
@Qualifier("testClassaaa")
public class TestClass {private String name="testClassA";public TestClass() {}public TestClass(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
@Configuration
public class QualifierConfig {@Bean
//    @Qualifier("testClass")public TestClass testClassB(){return new TestClass("testClassB");}@Beanpublic TestClass testClassC(){return new TestClass("testClassC");}
}
@Component
public class QualifierInject {@Autowired@Qualifier("testClassaaa")private TestClass testClass;public void test(){System.out.println(testClass.getName());}
}

测试代码

    @Testpublic void test06() {ApplicationContext context = new ClassPathXmlApplicationContext("04annotation.xml");QualifierInject qualifierInject = context.getBean("qualifierInject", QualifierInject.class);qualifierInject.test();}

QualifierInject进行依赖注入的时候 @Qualifier 里面就可以写 testClass、testClassB、testClassC  或者 TestClass的 唯一标识  testClassaaa都是可以的

理解总结:

        1、精确指定bean 解决spring自动注入产生的歧义   bean的唯一标识

        2、在使用属性注入使用@Resource注解会好一点

        3、在@Configuration注解进行bean申明的时候方法参数列表中使用@Qualifier注解指定bean唯一标识,因为@Resource无法在参数中使用

        

        

      

        

@Qualifier注解 的理解和使用相关推荐

  1. 23 SpringBoot @Qualifier注解

    //定义亚洲人 @Qualifier("Asian") @Component public class AsianMan extends Person {}········//定义 ...

  2. Qualifier注解

    字面理解 首先,字面意思,显然它是单词Qualify的一个变形,把y改i加er.Qualify是质量的意思.而Qualifier有合格者的意思. 合格者在这里有啥意思,显然,翻译之后我更困惑了.[检查 ...

  3. 在方法的形参位置使用@Qualifier注解||@Autowired 与@Resource的区别

    实验21:在方法的形参位置使用@Qualifier注解 实验22:@Autowired注解的required属性指定某个属性允许不被设置 @Autowired   @Resource  @Inject ...

  4. 请举例说明@Qualifier 注解?

    @Qualifier 注解意味着可以在被标注bean 的字段上可以自动装配.Qualifier 注解可以用来取消Spring不能取消的bean 应用.

  5. Spring学习(10)--- @Qualifier注解

    按类型自动装配可能多个bean实例的情况,可以使用Spring的@Qualifier注解缩小范围(或指定唯一),也可以指定单独的构造器参数或方法参数 可用于注解集合类型变量 例子: package c ...

  6. java中qualifier注解怎么写_Java 注解 Qualifier

    有如下接口: public interfaceEmployeeService {publicEmployeeDto getEmployeeById(Long id); } 同时有下述两个实现类 Emp ...

  7. spring的@primary和@qualifier注解解决一个接口多个实现的注入问题

    spring的@primary和@qualifier注解解决一个接口多个实现的注入问题 参考文章: (1)spring的@primary和@qualifier注解解决一个接口多个实现的注入问题 (2) ...

  8. @Qualifier注解的使用

    1:当一个接口的方法,对应多个实现的时候,怎么区分到底注入哪一个 @Service public interface MyService{public int findSomeone(); }//第一 ...

  9. @Primary和@Qualifier注解

    @Primary和@Qualifier注解,都是处理@Autowired注入时,发现多个相同类型的冲突时,进行解决. 实际项目中,@Autowired,默认是byType注入,当发现多个实现类的时候, ...

  10. @Qualifier注解

    @Autowired是根据类型进行自动装配的.如果当spring上下文中存在不止一个UserDao类型的bean时,就会抛出BeanCreationException异常;如果Spring上下文中不存 ...

最新文章

  1. 技术人生:与其鸟宿檐下,不如击翅风雨
  2. tomcat启动时一闪而过的几种原因
  3. 操作系统【连续式分配方式、隐式链接、显示链接、索引方式、混合索引、位示图、成组链接】
  4. 计算机基础与应用教程计算机硬件,计算机基础系列一:计算机硬件
  5. elf文件格式实例解析
  6. 高精除(信息学奥赛一本通-T1308)
  7. 11 SD配置-企业结构-分配-设置销售范围(Sales Area)
  8. MySQL useSSS_Mysql 常用操作记录
  9. WINDOWS下面使用ICE操作记录
  10. Linux如何自动获取IP地址
  11. 怎样的高管才能得到下属的信任?
  12. 关于数据库中的char与varchar
  13. 【Hive】集合函数
  14. [N1盒子] Phicomm-N1 斐讯 N1 NAS 打造指南
  15. 软件工程期末考试题库(超全)
  16. 服务器与Tomcat区别
  17. PHP俄罗斯方块游戏代码,俄罗斯方块游戏,俄罗斯方块游戏编程代码
  18. Unity实现简单小地图功能
  19. 字母消消乐游戏(C语言版本_2023首篇新作)
  20. 55.网页设计规则#3_图片和插图

热门文章

  1. 最实用的网上赚钱方法:这7个方法真的很实用哦!
  2. 网上做什么可以赚钱?网上最靠谱的赚钱方法
  3. 163邮箱满了怎么办?无限容量,超大附件带你畅游文件的海洋
  4. 将python图表放入ppt_如何在ppt中嵌入python图表(或图像)并刷新
  5. Hibernate——缓存
  6. 使用c++filt命令还原C++编译后的函数名
  7. 守望先锋中的netcode_如何跟踪守望先锋中的化妆品和事件物品
  8. python提取docx文档的信息(文本+表格)
  9. AJAX学习(一)AJAX基础
  10. TMS320F280049C 学习笔记21 交叉开关 Crossbar (X-BAR)