在Java代碼中使用@Autowired或者@Resource 註解方式進行裝配.
區別:
前者默認按類型裝配,後者默認按名稱裝配。當找不到和名稱匹配的bean纔會按類型裝配
前者是按類型裝配依賴對象,默認狀況下它要求以來對象必須存在。若是容許null值。能夠設置它required屬性爲false。若是想要使用按名稱裝配,能夠結合@Qualifier一塊兒使用
@Resource註解和@Autowired同樣,也能夠標註在字段或屬性的setter方法上。但它默認按名稱裝配,名稱能夠經過@Resource的那麼屬性指定。若是沒有指定name屬性,當該註解標註在字段上,即默認取字段的名稱做爲bean名稱尋找依賴對象,當註解標註在屬性的setter方法上,即默認取屬性的名稱尋找依賴對象
注意:若是沒有指定name屬性,而且按照默認的名稱仍然找不到依賴對象時,@Resourve註解會回退到按類型裝配。但一旦指定了name屬性,就只能按照名稱裝配了