@autowired註解是按型別裝配依賴物件,預設情況下它要求依賴物件必須存在,如果允許null值,可以設定它required屬性為false。如果我們想使用按名稱裝配,可以結合@qualifier註解一起使用。如下:
@autowired @qualifier("persondaobean")
private persondao persondao;
@resource註解和@autowired一樣,也可以標註在字段或屬性的setter方法上,但它預設按名稱裝配。名稱可以通過@resource的name屬性指定,如果沒有指定name屬性,當註解標註在字段
上,即預設取字段的名稱作為bean名稱尋找依賴物件,當註解標註在屬性的setter方法上,即預設取屬性名作為bean名稱尋找依賴物件。
@resource(name=「persondaobean」)
private persondao persondao;//用於欄位上
注意:如果沒有指定name屬性,並且按照預設的名稱仍然找不到依賴物件時, @resource註解會回退到按型別裝配。但一旦指定了name屬性,就只能按名稱裝配了。
Resource與 Autowired註解的區別
一 resource注入 現在有乙個介面human和兩個實現類manimpl womanimpl,在service層的乙個bean中要引用了介面human,這種情況處理如下 介面human public inte ce human public void walk 實現類womanimpl serv...
註解 Resource與 Autowired的區別
注意 spring容器以name為key儲存bean!這裡的name可以指定,否則取首字母小寫的類名。有相同的就報異常 beandefinitionstoreexception!resource resource有兩個常用屬性name type,所以分4種情況 指定name和type 通過name找...
註解 Autowired與 Resource的區別
共同點 resource和 autowired都可以作為注入屬性的修飾,在介面僅有單一實現類時,兩個註解的修飾效果相同,可以互相替換,不影響使用。注意 在只有單一的實現類時,兩個註解的作用相同 不同點 在spring中 autowired注入規則 autowired預設是按照bytype進行注入的,...