@Qualifier

@Qualifier:限定描述符,用于细粒度选择候选者

  • @Autowired默认是根据类型进行注入的,因此如果有多个类型一样的Bean候选者,则需要限定其中一个候选者,否则将抛出异常
  • @Qualifier限定描述符除了能根据名字进行注入,更能进行更细粒度的控制如何选择候选者
    • 4ad59dc62c7345e5cece6a81389955d5a9e.jpg

根据基于XML配置中的<qualifier>标签指定的名字进行注入,使用如下方式指定名称:

  • 35a9b0b984e9c2cc25cf9e962749cf0a018.jpg
    • 其中type属性可选,指定类型,默认就是Qualifier注解类
    • name就是给Bean候选者指定限定标识符
    • 一个Bean定义中只允许指定类型不同的<qualifier>,如果有多个相同type后面指定的将覆盖前面的

使用举例:

8c995675ba6c93ac48de384052046044b07.jpg

  • 或者:

d99f7ed48356f5944ed7cf4da8702ae8514.jpg

缺省的根据Bean名字注入

  • 最基本方式,是在Bean上没有指定<qualifier>标签时一种容错机制,即缺省情况下使用Bean标识符注入,
  • 但如果你指定了<qualifier>标签将不会发生容错。

转载于:https://my.oschina.net/u/3847203/blog/2252414

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值