關(guān)于java注解@Qualifier的問(wèn)題
@Qualifier注釋不是已經(jīng)注釋到BeanImpl這個(gè)Bean上了嗎 為什么只影響到了最后輸出的那個(gè)地方,為什么之前的list和map都沒(méi)影響到呢,是因?yàn)楸緛?lái)就不會(huì)影響list和map的嗎?
@Qualifier注釋不是已經(jīng)注釋到BeanImpl這個(gè)Bean上了嗎 為什么只影響到了最后輸出的那個(gè)地方,為什么之前的list和map都沒(méi)影響到呢,是因?yàn)楸緛?lái)就不會(huì)影響list和map的嗎?
2015-03-02
舉報(bào)
2015-03-03
在使用Spring框架中@Autowired標(biāo)簽時(shí)默認(rèn)情況下使用 @Autowired 注釋進(jìn)行自動(dòng)注入時(shí),Spring 容器中匹配的候選 Bean 數(shù)目必須有且僅有一個(gè)。當(dāng)找不到一個(gè)匹配的 Bean 時(shí),Spring 容器將拋出BeanCreationException 異常,并指出必須至少擁有一個(gè)匹配的 Bean。Spring 允許我們通過(guò) @Qualifier 注釋指定注入 Bean 的名稱,這樣歧義就消除了,可以通過(guò)下面的方法解決異常。@Qualifier("XXX") 中的 XX是 Bean 的名稱,所以 @Autowired 和 @Qualifier 結(jié)合使用時(shí),自動(dòng)注入的策略就從 byType 轉(zhuǎn)變成 byName 了。@Autowired 可以對(duì)成員變量、方法以及構(gòu)造函數(shù)進(jìn)行注釋,而 @Qualifier 的標(biāo)注對(duì)象是成員變量、方法入?yún)?、?gòu)造函數(shù)入?yún)ⅰ?br />