@Qualifier注解 的理解和使用
@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注解 的理解和使用相关推荐
- 23 SpringBoot @Qualifier注解
//定义亚洲人 @Qualifier("Asian") @Component public class AsianMan extends Person {}········//定义 ...
- Qualifier注解
字面理解 首先,字面意思,显然它是单词Qualify的一个变形,把y改i加er.Qualify是质量的意思.而Qualifier有合格者的意思. 合格者在这里有啥意思,显然,翻译之后我更困惑了.[检查 ...
- 在方法的形参位置使用@Qualifier注解||@Autowired 与@Resource的区别
实验21:在方法的形参位置使用@Qualifier注解 实验22:@Autowired注解的required属性指定某个属性允许不被设置 @Autowired @Resource @Inject ...
- 请举例说明@Qualifier 注解?
@Qualifier 注解意味着可以在被标注bean 的字段上可以自动装配.Qualifier 注解可以用来取消Spring不能取消的bean 应用.
- Spring学习(10)--- @Qualifier注解
按类型自动装配可能多个bean实例的情况,可以使用Spring的@Qualifier注解缩小范围(或指定唯一),也可以指定单独的构造器参数或方法参数 可用于注解集合类型变量 例子: package c ...
- java中qualifier注解怎么写_Java 注解 Qualifier
有如下接口: public interfaceEmployeeService {publicEmployeeDto getEmployeeById(Long id); } 同时有下述两个实现类 Emp ...
- spring的@primary和@qualifier注解解决一个接口多个实现的注入问题
spring的@primary和@qualifier注解解决一个接口多个实现的注入问题 参考文章: (1)spring的@primary和@qualifier注解解决一个接口多个实现的注入问题 (2) ...
- @Qualifier注解的使用
1:当一个接口的方法,对应多个实现的时候,怎么区分到底注入哪一个 @Service public interface MyService{public int findSomeone(); }//第一 ...
- @Primary和@Qualifier注解
@Primary和@Qualifier注解,都是处理@Autowired注入时,发现多个相同类型的冲突时,进行解决. 实际项目中,@Autowired,默认是byType注入,当发现多个实现类的时候, ...
- @Qualifier注解
@Autowired是根据类型进行自动装配的.如果当spring上下文中存在不止一个UserDao类型的bean时,就会抛出BeanCreationException异常;如果Spring上下文中不存 ...
最新文章
- 技术人生:与其鸟宿檐下,不如击翅风雨
- tomcat启动时一闪而过的几种原因
- 操作系统【连续式分配方式、隐式链接、显示链接、索引方式、混合索引、位示图、成组链接】
- 计算机基础与应用教程计算机硬件,计算机基础系列一:计算机硬件
- elf文件格式实例解析
- 高精除(信息学奥赛一本通-T1308)
- 11 SD配置-企业结构-分配-设置销售范围(Sales Area)
- MySQL useSSS_Mysql 常用操作记录
- WINDOWS下面使用ICE操作记录
- Linux如何自动获取IP地址
- 怎样的高管才能得到下属的信任?
- 关于数据库中的char与varchar
- 【Hive】集合函数
- [N1盒子] Phicomm-N1 斐讯 N1 NAS 打造指南
- 软件工程期末考试题库(超全)
- 服务器与Tomcat区别
- PHP俄罗斯方块游戏代码,俄罗斯方块游戏,俄罗斯方块游戏编程代码
- Unity实现简单小地图功能
- 字母消消乐游戏(C语言版本_2023首篇新作)
- 55.网页设计规则#3_图片和插图
热门文章
- 最实用的网上赚钱方法:这7个方法真的很实用哦!
- 网上做什么可以赚钱?网上最靠谱的赚钱方法
- 163邮箱满了怎么办?无限容量,超大附件带你畅游文件的海洋
- 将python图表放入ppt_如何在ppt中嵌入python图表(或图像)并刷新
- Hibernate——缓存
- 使用c++filt命令还原C++编译后的函数名
- 守望先锋中的netcode_如何跟踪守望先锋中的化妆品和事件物品
- python提取docx文档的信息(文本+表格)
- AJAX学习(一)AJAX基础
- TMS320F280049C 学习笔记21 交叉开关 Crossbar (X-BAR)