所以,如果我理解正确的,都是以确定其自动装配豆如果有多个候选的方式。那么究竟是什么区别?
读@Primary
为“默认”。
如果一个bean有@Autowired
没有任何@Qualifier
和类型存在多种豆类,标志着候选人豆@Primary
将被选择,也就是说,它是默认选择在没有其他信息可用,即当@Qualifier
缺少。
一个良好的使用情况是,最初你只有类型的bean,所以没有使用的代码@Qualifier
。当你再加入另一个bean,然后你也加入@Qualifier
到两个旧的和新豆,所以任何@Autowired
可以选择它想要哪一个。也通过添加@Primary
到原来的老豆,你不必添加@Qualifier
到现有的所有@Autowired
。他们是在“祖父”,可以这么说。
@Primary
也不错,例如如果95%@Autowired
想要一个特定的bean。这样一来,只有@Autowired
想要其他的bean(一个或多个)需要指定@Qualifier
。这样一来,你有初级豆类,所有的自动装配的人,而@Qualifier
只是用来请求一个“备用”豆。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句