@resource
@resource有兩個常用屬性name、type,所以分4種情況
指定name和type:通過name找到唯一的bean,找不到丟擲異常;如果type和字段型別不一致,也會丟擲異常
指定name:通過name找到唯一的bean,找不到丟擲異常
指定type:通過tpye找到唯一的bean,如果不唯一,則丟擲異常:nouniquebeandefinitionexception
都不指定:通過欄位名作為key去查詢,找到則賦值;找不到則再通過字段型別去查詢,如果不唯一,則丟擲異常:nouniquebeandefinitionexception
@autowired
@autowired只有乙個屬性required,預設值為true,為true時,找不到就拋異常,為false時,找不到就賦值為null
@autowired按型別查詢,如果該型別的bean不唯一,則丟擲異常;可通過組合註解解決@autowired()@qualifier("basedao")
相同點spring都支援
都可以作用在字段和setter方法上
不同點1.resource是jdk提供的,而autowired是spring提供的
2.resource不允許找不到bean的情況,而autowired允許(@autowired(required = false))
3.指定name的方式不一樣,@resource(name = "basedao"),@autowired()@qualifier("basedao")
4.resource預設通過name查詢,而autowired預設通過type查詢
Autowired和 Resource詳細講解
autowired和 resource註解的區別 從spring容器中獲取userdao型別bean 實現類 注入該屬性bytype 根據型別注入 如果存在且唯一,則ok 如果不唯一,組合使用 qualifier userdaoimpl 尋找name為userdaoimpl的bean。autowir...
Resource和 Autowired 注入解釋
resource和 autowired都是通過在介面類上加註解實現 實現類的注入 即 要使用 resource和 autowired實現注入某個實體物件,必須先新建乙個實體物件的介面類,然後再讓實體類實現該介面 例 component private class buscar 要實現注入buscar...
Autowired和 Resource註解的區別
autowired註解是按型別裝配依賴物件,預設情況下它要求依賴物件必須存在,如果允許null值,可以設定它required屬性為false。如果我們想使用按名稱裝配,可以結合 qualifier註解一起使用。如下 autowired qualifier persondaobean private ...