@Autowire和@Resource的區別

@Autowire@Resource的區別

java代碼中可以使用@Autowire或者@Resource註解方式進行裝配,這兩個註解的區別是: 

@Autowire默認按照類型裝配,默認情況下它要求依賴對象必須存在如果允許爲null,可以設置它required屬性爲false,如果我們想使用按照名稱裝配,可以結合@Qualifier註解一起使用

@Resource默認按照名稱裝配,當找不到與名稱匹配的bean纔會按照類型裝配,可以通過name屬性指定,如果沒有指定name屬性,當註解標註在字段上,即默認取字段的名稱作爲bean名稱尋找依賴對象,當註解標註在屬性的setter方法上,即默認取屬性名作爲bean名稱尋找依賴對象
注意:如果沒有指定name屬性,並且按照默認的名稱仍然找不到依賴的對象時候,會回退到按照類型裝配,但一旦指定了name屬性,就只能按照名稱裝配了
建議使用@Resource 

發佈了20 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章