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

Spring中@Autowired和@Qualifier注解的3個知識點小結(jié)

 更新時間:2021年09月27日 15:58:29   作者:北云洛月  
這篇文章主要介紹了Spring中@Autowired和@Qualifier注解的3個知識點小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@Autowired和@Qualifier注解的3個知識點

1.@Autowired自動注入

默認(rèn)是先以byType的方式,如果有多個類型相匹配,那么使用byName進(jìn)行注入

2.如果想直接使用byName的注入方式

那么需要在@Autowired注解的下面加上注解@Qualifier(“userService”),括號里面為要注入的bean的name,如圖

在這里插入圖片描述

3.如果沒有指定Spring創(chuàng)建的bean的名稱

(1) 默認(rèn)名為類名,但首字母小寫,如:UserService類,創(chuàng)建的bean的name為userService

(2) 如果類名前兩個或以上字母都為大寫,那么bean的名字就是類名,如:TUserService類,默認(rèn)創(chuàng)建的bean的name為TUserService

@Autowired @Qualifier @Resource的區(qū)別

@Autowired

  • spring的注解,默認(rèn)按type注入

@Qualifier

  • spring的注解,按名字注入 一般當(dāng)出現(xiàn)兩個及以上bean時,不知道要注入哪個,作為@Autowired()的修飾用

@Resource

  • @Resource(這個注解屬于J2EE的),默認(rèn)按name注入,可以通過name和type屬性進(jìn)行選擇性注入

看下栗子

1.@Autowired

寫一個User類 實例化一個User的Bean 在controller中使用@Autowired注入 運行程序

訪問接口

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

要注意的是@Autowired默認(rèn)情況下required=true當(dāng)注入對象未實例化被使用 會空指針 如果要允許null 值,可以設(shè)置它的required屬性為false,@Autowired(required=false)

2.@Qualifier

在實例化Bean的時候 實例化兩個 如圖

在這里插入圖片描述

這時候會發(fā)現(xiàn)注入的地方報錯 不清楚要注入哪個bean 錯誤如下圖

在這里插入圖片描述

這時候我們就可以使用@Qualifier來配合@Autowire進(jìn)行注入了

首先在實例化bean的時候指定名字 注入時使用對應(yīng)的名字注入 如下圖


在這里插入圖片描述

重新啟動后正常訪問

3.@Resource

默認(rèn)安照名稱進(jìn)行裝配,名稱可以通過name屬性進(jìn)行指定, 如果沒有指定name屬性,當(dāng)注解寫在字段上時,默認(rèn)取字段名進(jìn)行按照名稱查找,如果注解寫在setter方法上默認(rèn)取屬性名進(jìn)行裝配。

當(dāng)找不到與名稱匹配的bean時才按照類型進(jìn)行裝配。但是需要注意的是,如果name屬性一旦指定,就只會按照名稱進(jìn)行裝配。

通過name屬性指定注入 啟動項目后可正常訪問

在這里插入圖片描述

不指定name 初始化一個bean,name=user2,

在這里插入圖片描述
在這里插入圖片描述

他首先按照類名小寫user作為name去注入Bean,發(fā)現(xiàn)并沒有這個名字的實例,然后會根據(jù)類型自動匹配 所以運行程序不會出錯 可以正常訪問

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

诏安县| 蒙自县| 和政县| 旬邑县| 灵石县| 永平县| 青龙| 成都市| 麦盖提县| 新兴县| 云和县| 富裕县| 揭西县| 道真| 渑池县| 杭锦后旗| 剑河县| 庐江县| 丹寨县| 玉田县| 福鼎市| 揭东县| 鹤庆县| 岫岩| 四平市| 大悟县| 黄龙县| 微博| 卓资县| 许昌县| 普洱| 陇南市| 定州市| 张家口市| 长泰县| 嘉定区| 无棣县| 祁东县| 赤壁市| 宝丰县| 麻江县|