最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中@Autowired與@Resource注解的區(qū)別詳解

 更新時間:2023年11月02日 10:09:26   作者:huayang183  
這篇文章主要介紹了Java中@Autowired與@Resource注解的區(qū)別詳解,@Resource的作用相當于@Autowired,只不過@Autowired按byType自動注入,而@Resource默認按 byName自動注入罷了,@Resource有兩個屬性是比較重要的,需要的朋友可以參考下

@Autowired與@Resource注解的區(qū)別

@Resource的作用相當于@Autowired,只不過@Autowired按byType自動注入,而@Resource默認按 byName自動注入罷了。@Resource有兩個屬性是比較重要的,分是name和type,Spring將@Resource注解的name屬性解析為bean的名字,而type屬性則解析為bean的類型。所以如果使用name屬性,則使用byName的自動注入策略,而使用type屬性時則使用byType自動注入策略。如果既不指定name也不指定type屬性,這時將通過反射機制使用byName自動注入策略。

@Resource裝配順序

1. 如果同時指定了name和type,則從Spring上下文中找到唯一匹配的bean進行裝配,找不到則拋出異常   

2. 如果指定了name,則從上下文中查找名稱(id)匹配的bean進行裝配,找不到則拋出異常   

3. 如果指定了type,則從上下文中找到類型匹配的唯一bean進行裝配,找不到或者找到多個,都會拋出異常   

4. 如果既沒有指定name,又沒有指定type,則自動按照byName方式進行裝配;如果沒有匹配,則回退為一個原始類型進行匹配,如果匹配則自動裝配;

@Autowired 與@Resource的區(qū)別:

1、@Autowired與@Resource都可以用來裝配bean. 都可以寫在字段上,或?qū)懺趕etter方法上。

2、@Autowired默認按類型裝配(這個注解是屬業(yè)spring的),默認情況下必須要求依賴對象必須存在,如果要允許null值,可以設(shè)置它的required屬性為false,如:@Autowired(required=false) ,如果我們想使用名稱裝配可以結(jié)合@Qualifier注解進行使用,如下:

@Autowired () @Qualifier ( "baseDao" )

private BaseDao baseDao;

3、@Resource(這個注解屬于J2EE的),默認按照名稱進行裝配,名稱可以通過name屬性進行指定,如果沒有指定name屬性,當注解寫在字段上時,默認取字段名進行安裝名稱查找,如果注解寫在setter方法上默認取屬性名進行裝配。當找不到與名稱匹配的bean時才按照類型進行裝配。但是需要注意的是,如果name屬性一旦指定,就只會按照名稱進行裝配。

@Resource (name= "baseDao" )

private BaseDao baseDao;

推薦使用:@Resource注解在字段上,這樣就不用寫setter方法了,并且這個注解是屬于J2EE的,減少了與spring的耦合。這樣代碼看起就比較優(yōu)雅。

到此這篇關(guān)于Java中@Autowired與@Resource注解的區(qū)別詳解的文章就介紹到這了,更多相關(guān)@Autowired與@Resource注解的區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

喜德县| 元朗区| 县级市| 昭觉县| 枣阳市| 扎赉特旗| 五大连池市| 嘉鱼县| 保康县| 宁陕县| 高台县| 嘉定区| 炉霍县| 犍为县| 盖州市| 昭平县| 德阳市| 开平市| 桃江县| 石屏县| 马尔康县| 江安县| 广汉市| 鹤山市| 宁化县| 巨野县| 德庆县| 三穗县| 治多县| 会理县| 平度市| 长子县| 正宁县| 金昌市| 新野县| 广元市| 万荣县| 黄大仙区| 茂名市| 准格尔旗| 林芝县|