@Autowired與@Resource的區別

在Java代碼中使用@Autowired或者@Resource 註解方式進行裝配. 
區別: 
前者默認按類型裝配,後者默認按名稱裝配。當找不到和名稱匹配的bean纔會按類型裝配 
前者是按類型裝配依賴對象,默認情況下它要求以來對象必須存在。如果允許null值。可以設置它required屬性爲false。如果想要使用按名稱裝配,可以結合@Qualifier一起使用 

@Resource註解和@Autowired一樣,也可以標註在字段或屬性的setter方法上。但它默認按名稱裝配,名稱可以通過@Resource的那麼屬性指定。如果沒有指定name屬性,當該註解標註在字段上,即默認取字段的名稱作爲bean名稱尋找依賴對象,當註解標註在屬性的setter方法上,即默認取屬性的名稱尋找依賴對象 

注意:如果沒有指定name屬性,並且按照默認的名稱仍然找不到依賴對象時,@Resourve註解會回退到按類型裝配。但一旦指定了name屬性,就只能按照名稱裝配了
 
文章轉自:http://blog.csdn.net/sully2008/article/details/6833994

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章