java中@Qualifier("string")是什么用法


@Qualifier("XXX") Spring的Bean注入配置注解,該注解指定注入的Bean的名稱,Spring框架使用byName方式尋找合格的bean,這樣就消除了byType方式產生的歧義。

 

Spring的IoC的xml配置文件方式會讓XML文件變的比較長而且繁瑣,所以自JDK 1.5之后,越來越多的框架推出注解配置,

Spring的Bean注入就可以通過@Resource、@Autowire標記此處要注入bean,Spring框架通過反射方式給字段注入合適的對象。

 

@Autowire注解按照類型,即注解的字段的類型尋找該類型的實例bean,這種方式成為byType。這種方式會引發歧義,比如UserDAO整個框架可能有N多個該對象,那么Spring框架會采用一定規則尋找bean(轉換為byName尋找,失敗后報錯)

 

@Resource是JDK提供的注解,默認就是按照byName的方式尋找bean,一般一個name對應一個bean,當找不到與名稱匹配的bean才會按照類型裝配(byType)。

 

想要讓@Autowired方式按照name方式注入,可以結合@Qualifier("XX")使用,讓@Autowired按照byName方式裝配。

eg:

@Autowired
@Qualifier("userDAO")
private UserDAO userDao;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM