@resource和@autowired都是通過在介面類上加註解實現 實現類的注入;
即:要使用@resource和@autowired實現注入某個實體物件,必須先新建乙個實體物件的介面類,然後再讓實體類實現該介面;
例:@component
private class buscar
要實現注入buscar,必須新建乙個介面類 car;
public inte***ce car
然後讓原buscar實現介面car;
@component
private class buscar implement car
再通過介面類上加註解實現注入;
@resource 實現注入:
@resource //未設定name 屬性,預設是通過type 注入 car的實現類
private car car;
以上寫法可寫成:
@resource (name= "buscar " ) //通過設定name 屬性,直接載入指定的實現類
private car car;
@autowired 實現注入:
@autowired //沒有name 屬性,預設是通過type 注入 car的實現類
private car car;
當有多個實現類實現了 car介面時,則需要新增註解@qualifier("····") 來指定要注入的實現類;
例如再新增加乙個實現類
@component
private class opencar implement car
則 要告知容器需要注入的實現類是哪乙個:
@autowired //沒有name 屬性,預設是通過type 注入 car的實現類
@qualifier("opencar ")
private car car;
另外:@resource 是jdk自帶的註解 ;
@autowired是spring中的註解;
@component 不指定bean的名稱,預設為類名首字母小寫;
@component(「指定name」)
Autowired和 Resource詳細講解
autowired和 resource註解的區別 從spring容器中獲取userdao型別bean 實現類 注入該屬性bytype 根據型別注入 如果存在且唯一,則ok 如果不唯一,組合使用 qualifier userdaoimpl 尋找name為userdaoimpl的bean。autowir...
Autowired和 Resource註解的區別
autowired註解是按型別裝配依賴物件,預設情況下它要求依賴物件必須存在,如果允許null值,可以設定它required屬性為false。如果我們想使用按名稱裝配,可以結合 qualifier註解一起使用。如下 autowired qualifier persondaobean private ...
autowired和resource註解的區別
resource的作用相當於 autowired,均可標註在字段或者屬性的setter方法上。1 autowired qualifier basedao 2private basedao basedao resource 是jdk1.6支援的註解,預設按照名稱進行裝配,名稱可以通過name屬性進行指...