Resource和 Autowirde的區別

2022-07-26 02:51:11 字數 807 閱讀 2683

@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 ...