精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面試突擊:@Autowired 和 @Resource 有什么區別?你學會了嗎?

開發 前端
JSR 是 Java Specification Requests 的縮寫,意思是“Java 規范提案”。任何人都可以提交 JSR 給 Java 官方,但只有最終確定的 JSR,才會以 JSR-XXX 的格式發布,如 JSR-250,而被發布的 JSR 就可以看作是 Java 語言的規范或標準。

@Autowired 和 @Resource 都是 Spring/Spring Boot 項目中,用來進行依賴注入的注解。它們都提供了將依賴對象注入到當前對象的功能,但二者卻有眾多不同,并且這也是常見的面試題之一,所以我們今天就來盤它。@Autowired 和 @Resource 的區別主要體現在以下 5 點:

  • 來源不同;
  • 依賴查找的順序不同;
  • 支持的參數不同;
  • 依賴注入的支持不同;
  • 編譯器 IDEA 的提示不同。

1.來源不同

@Autowired 和 @Resource 來自不同的“父類”,其中 @Autowired 是 Spring 定義的注解,而 @Resource 是 Java 定義的注解,它來自于 JSR-250(Java 250 規范提案)。

小知識:JSR 是 Java Specification Requests 的縮寫,意思是“Java 規范提案”。任何人都可以提交 JSR 給 Java 官方,但只有最終確定的 JSR,才會以 JSR-XXX 的格式發布,如 JSR-250,而被發布的 JSR 就可以看作是 Java 語言的規范或標準。

2.依賴查找順序不同

依賴注入的功能,是通過先在 Spring IoC 容器中查找對象,再將對象注入引入到當前類中。而查找有分為兩種實現:按名稱(byName)查找或按類型(byType)查找,其中 @Autowired 和 @Resource 都是既使用了名稱查找又使用了類型查找,但二者進行查找的順序卻截然相反。

2.1 @Autowired 查找順序

@Autowired 是先根據類型(byType)查找,如果存在多個 Bean 再根據名稱(byName)進行查找,它的具體查找流程如下:

圖片

關于以上流程,可以通過查看 Spring 源碼中的 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor#postProcessPropertyValues 實現分析得出,源碼執行流程如下圖所示:

圖片

2.2 @Resource 查找順序

@Resource 是先根據名稱查找,如果(根據名稱)查找不到,再根據類型進行查找,它的具體流程如下圖所示:

圖片

關于以上流程可以在 Spring 源碼的 org.springframework.context.annotation.CommonAnnotationBeanPostProcessor#postProcessPropertyValues 中分析得出。雖然 @Resource 是 JSR-250 定義的,但是由 Spring 提供了具體實現,它的源碼實現如下:

圖片

2.3 查找順序小結

由上面的分析可以得出:

  • @Autowired 先根據類型(byType)查找,如果存在多個(Bean)再根據名稱(byName)進行查找;
  • @Resource 先根據名稱(byName)查找,如果(根據名稱)查找不到,再根據類型(byType)進行查找。

3.支持的參數不同

@Autowired 和 @Resource 在使用時都可以設置參數,比如給 @Resource 注解設置 name 和 type 參數,實現代碼如下:

@Resource(name = "userinfo", type = UserInfo.class)
private UserInfo user;

但二者支持的參數以及參數的個數完全不同,其中 @Autowired 只支持設置一個 required 的參數,而 @Resource 支持 7 個參數,支持的參數如下圖所示:

圖片

圖片

4.依賴注入的支持不同

@Autowired 和 @Resource 支持依賴注入的用法不同,常見依賴注入有以下 3 種實現:

  • 屬性注入
  • 構造方法注入
  • Setter 注入

這 3 種實現注入的實現代碼如下。

a) 屬性注入

@RestController
public class UserController {
// 屬性注入
@Autowired
private UserService userService;

@RequestMapping("/add")
public UserInfo add(String username, String password) {
return userService.add(username, password);
}
}

b) 構造方法注入

@RestController
public class UserController {
// 構造方法注入
private UserService userService;

@Autowired
public UserController(UserService userService) {
this.userService = userService;
}

@RequestMapping("/add")
public UserInfo add(String username, String password) {
return userService.add(username, password);
}
}

c) Setter 注入

@RestController
public class UserController {
// Setter 注入
private UserService userService;

@Autowired
public void setUserService(UserService userService) {
this.userService = userService;
}

@RequestMapping("/add")
public UserInfo add(String username, String password) {
return userService.add(username, password);
}
}

其中,@Autowired 支持屬性注入、構造方法注入和 Setter 注入,而 @Resource 只支持屬性注入和 Setter 注入,當使用 @Resource 實現構造方法注入時就會提示以下錯誤:

圖片

5.編譯器提示不同

當使用 IDEA 專業版在編寫依賴注入的代碼時,如果注入的是 Mapper 對象,那么使用 @Autowired 編譯器會提示報錯信息,報錯內容如下圖所示:

圖片

雖然 IDEA 會出現報錯信息,但程序是可以正常執行的。然后,我們再將依賴注入的注解更改為 @Resource 就不會出現報錯信息了,具體實現如下:

圖片

總結

@Autowired 和 @Resource 都是用來實現依賴注入的注解(在 Spring/Spring Boot 項目中),但二者卻有著 5 點不同:

  • 來源不同:@Autowired 來自 Spring 框架,而 @Resource 來自于(Java)JSR-250;
  • 依賴查找的順序不同:@Autowired 先根據類型再根據名稱查詢,而 @Resource 先根據名稱再根據類型查詢;
  • 支持的參數不同:@Autowired 只支持設置 1 個參數,而 @Resource 支持設置 7 個參數;
  • 依賴注入的用法支持不同:@Autowired 既支持構造方法注入,又支持屬性注入和 Setter 注入,而 @Resource 只支持屬性注入和 Setter 注入;
  • 編譯器 IDEA 的提示不同:當注入 Mapper 對象時,使用 @Autowired 注解編譯器會提示錯誤,而使用 @Resource 注解則不會提示錯誤。

參考 & 鳴謝

  • www.cnblogs.com/felordcn/p/13063802.html
  • blog.csdn.net/CPLASF_/article/details/109225213?
責任編輯:武曉燕 來源: Java面試真題解析
相關推薦

2022-09-27 07:31:57

Property模式數據

2023-02-17 08:02:45

@Autowired@Resource

2022-08-22 07:06:32

MyBatisSQL占位符

2022-07-18 07:11:35

請求轉發請求重定數據共享

2022-08-03 07:04:56

GETHTTPPOST

2022-08-10 07:06:57

IoCDISpring

2022-04-24 07:59:53

synchronizJVMAPI

2022-02-08 07:02:32

進程線程操作系統

2022-08-15 07:06:50

Propertiesyml配置

2023-03-26 21:51:42

2022-04-26 08:02:00

locktryLocklockInterr

2022-10-09 20:52:19

事務隔離級別傳播機制

2022-05-09 07:37:04

Java非公平鎖公平鎖

2024-01-18 09:38:00

Java注解JDK5

2024-04-28 08:24:27

分布式架構Istio

2023-12-11 08:03:01

Java線程線程組

2024-01-19 08:25:38

死鎖Java通信

2023-07-26 13:11:21

ChatGPT平臺工具

2024-02-04 00:00:00

Effect數據組件

2023-01-10 08:43:15

定義DDD架構
點贊
收藏

51CTO技術棧公眾號

fc2成人免费人成在线观看播放| 成人激情自拍| 国产精品天干天干在线综合| 奇米4444一区二区三区| 精品人伦一区二区三电影| 91国拍精品国产粉嫩亚洲一区| 国产精品成人免费| 国产高清精品一区| 懂色av蜜臀av粉嫩av分享吧最新章节| 97精品在线| 亚洲精品成人久久| 中文字幕成人在线视频| 成全电影大全在线观看| 国产亚洲欧美日韩日本| 91精品在线播放| av大全在线观看| 希岛爱理一区二区三区| 亚洲乱码国产乱码精品精天堂| 777视频在线| 欧美裸体视频| 一区二区三区日本| 青青草原成人| 色婷婷av一区二区三| 蜜臀a∨国产成人精品| 久久久久久亚洲精品不卡| 纪美影视在线观看电视版使用方法| 亚洲不卡在线| 欧美日韩国产色站一区二区三区| 男人日女人逼逼| 91亚洲天堂| 国产精品色一区二区三区| 精品一区二区三区国产| www香蕉视频| 免费观看在线色综合| 2019最新中文字幕| 精品在线视频免费| 亚洲区综合中文字幕日日| 国产午夜精品全部视频播放| 中文字幕一区三区久久女搜查官| 久久免费福利| 欧美精品久久99| 97公开免费视频| 91超碰在线免费| 亚洲最大的成人av| 日本一二三区视频在线| 米奇777四色精品人人爽| 国产拍欧美日韩视频二区| 久久成人资源| 天天综合网在线观看| 国产99久久久久久免费看农村| 91精品久久久久久久久青青| 波多野结衣在线观看一区| 国产日韩1区| 97国产真实伦对白精彩视频8| 免费在线黄色片| 欧美三级免费| 欧美激情国内偷拍| 国产亚洲欧美精品久久久www| 中文字幕乱码亚洲无线精品一区| 久久精品中文字幕一区| 中文字幕在线观看2018| 91久久电影| 久久国产精彩视频| 青青草原在线免费观看视频| 欧美日韩1区2区3区| 欧美日韩第一视频| 久久久久久欧美精品se一二三四| 欧美视频官网| 亚洲91av视频| 国产午夜麻豆影院在线观看| 天堂va蜜桃一区二区三区漫画版 | 精品国产av无码| 香蕉久久精品日日躁夜夜躁| 亚洲男人天堂久| 久操视频在线观看免费| 欧美成人直播| 精品少妇一区二区30p| 国产精彩视频在线观看| 在线视频精品| 国产精品小说在线| 国产三级在线观看视频| 成人三级伦理片| 精品电影一区二区| www国产视频| 色棕色天天综合网| 按摩亚洲人久久| 九九热这里有精品视频| 亚洲少妇一区| 国产精品美女主播| 精品欧美一区二区精品少妇| 99久久精品国产网站| 任我爽在线视频精品一| 国产在线观看a| 亚洲www啪成人一区二区麻豆| 黄色国产精品视频| av日韩久久| 亚洲精品成a人在线观看| 纪美影视在线观看电视版使用方法| 中文在线日韩| 日韩免费中文字幕| www.蜜臀av| 国产欧美中文在线| 97视频在线免费| 国内欧美日韩| 亚洲黄一区二区| 美国一级片在线观看| 一区二区黄色| 91中文字幕在线观看| 外国精品视频在线观看| 国产精品私房写真福利视频| 国产xxxx振车| 亚洲色图图片| 精品爽片免费看久久| 精品国产乱码久久久久久鸭王1| 香蕉亚洲视频| av成人在线电影| 在线日本中文字幕| 色综合久久中文综合久久牛| 久久久久无码国产精品一区李宗瑞| 精品视频99| 97久久超碰福利国产精品…| 国产精品久久久久久久久久久久久久久久久久 | www.久久成人| 中文字幕免费观看一区| 久久精品国产sm调教网站演员| 四虎国产精品成人免费影视| 亚洲人午夜精品免费| 日韩人妻无码一区二区三区99| 韩国女主播成人在线观看| 欧美精品久久| 色在线免费观看| 欧美tk丨vk视频| 国产精品白嫩白嫩大学美女| 久久99精品国产| 亚洲国产日韩欧美| 偷拍精品精品一区二区三区| 亚洲精品电影网| 国产 日韩 欧美 成人| 国产福利91精品| 久久免费视频2| 亚洲图片小说区| 亚洲图中文字幕| 天天爱天天做天天爽| 久久众筹精品私拍模特| 久久久久人妻精品一区三寸| 欧美理伦片在线播放| 国自产精品手机在线观看视频| 超碰免费在线97| 一区二区久久久久久| 超碰人人cao| 欧美 日韩 国产精品免费观看| 91中文字幕在线观看| 污污的网站在线看| 欧美成人aa大片| 国产一级二级毛片| 9色porny自拍视频一区二区| 水蜜桃色314在线观看| 婷婷综合一区| 国产99久久精品一区二区| 噜噜噜噜噜在线视频| 91成人网在线| 国产三级aaa| 国产伦精品一区二区三区视频青涩| a级网站在线观看| 亚洲一区网址| 欧美激情亚洲综合一区| 污视频软件在线观看| 91成人免费在线| 午夜精品久久久久99蜜桃最新版 | 欧美体内谢she精2性欧美| 久久亚洲AV成人无码国产野外| 久久裸体视频| 亚洲免费不卡| 亚洲综合影院| 欧美一级片久久久久久久| 国产一级片在线| 91精品国产综合久久蜜臀| 欧美日韩精品亚洲精品| 99久久国产综合精品女不卡| 88av.com| 欧美成人综合| 久久综合一区| 日日夜夜亚洲精品| 午夜精品在线观看| 欧美香蕉爽爽人人爽| 欧美激情一区二区三区在线| 天天干天天综合| 狠狠88综合久久久久综合网| 欧美凹凸一区二区三区视频| 香蕉久久久久久| 91精品国产91久久| 日本亚洲精品| 日韩成人av在线播放| 中文字幕av网站| 亚洲成av人片一区二区三区| 免费看黄色av| 成人国产免费视频| 日韩欧美黄色大片| 亚洲欧洲一区| 亚洲五月六月| 九九热hot精品视频在线播放| 国产成人精品av| 国产嫩草在线视频| 日韩中文综合网| 日韩美女一级视频| 日韩精品一区二区三区中文不卡| 国产91国语对白在线| 一二三四社区欧美黄| 免费看黄色三级| 成人av网站大全| 亚洲高清在线不卡| 视频在线观看91| 加勒比成人在线| 久久久久久影院| 日韩.欧美.亚洲| 日韩欧美国产大片| 99视频国产精品免费观看| 免费高清视频在线一区| 午夜精品一区二区三区在线视| 1区2区3区在线视频| 亚洲午夜女主播在线直播| 少妇喷水在线观看| 日韩欧美视频一区| 国产精品久久久久久久成人午夜 | 国产又粗又大又爽| 国产精品久久久久久久久免费樱桃| 午夜影院福利社| 国产精品91一区二区| 91色国产在线| 视频一区中文字幕| 欧美成人精品欧美一级乱| 激情久久中文字幕| 国产精品无码电影在线观看| 99精品视频精品精品视频| 蜜桃日韩视频| 日韩大片在线免费观看| 国产精品精品软件视频| 欧美日本三级| 91入口在线观看| 日韩一区网站| 亚洲自拍偷拍区| 精品视频成人| 亚洲一区亚洲二区| 精品中文字幕一区二区三区| 成人福利视频在线观看| 欧美成人免费全部网站| 国产精品欧美一区二区三区奶水| 日韩三区在线| 国产精品情侣自拍| 国产精品麻豆成人av电影艾秋| 国产成人avxxxxx在线看| 欧美色999| 国产精品成人va在线观看| 97精品国产99久久久久久免费| 国产999在线| 成人午夜在线| 成人激情在线观看| 欧美高清hd| 国产欧美日韩综合一区在线观看 | 欧美成人综合网站| 亚洲精品综合网| 亚洲激情电影中文字幕| 国产中文在线视频| 中文字幕欧美日韩在线| 里番在线观看网站| 欧美大片免费看| rebdb初裸写真在线观看| 国产91成人在在线播放| 欧美影视资讯| 91亚洲精品视频| 国产精品白丝av嫩草影院| 蜜桃精品久久久久久久免费影院| 国产伦一区二区三区| 一区二区三区在线视频看| 亚洲影视一区| 男人添女人下面高潮视频| 青青国产91久久久久久| 男插女视频网站| 99在线热播精品免费| 熟女少妇内射日韩亚洲| 自拍偷拍欧美精品| 91精品国产乱码久久久张津瑜| 日本久久电影网| 国产免费久久久| 日韩成人av在线| 成人在线视频亚洲| 91大神在线播放精品| 欧洲美女精品免费观看视频| 肥熟一91porny丨九色丨| 综合国产视频| 欧美 国产 精品| 久久久精品网| 久久无码专区国产精品s| 久久精品亚洲精品国产欧美| 黄色一级片中国| 色哟哟一区二区在线观看| 国产精品无码免费播放| 日韩黄在线观看| 免费黄色在线看| 欧洲日韩成人av| 日韩视频一区二区三区四区| 欧美日韩国产不卡在线看| 欧美日韩爆操| 国产一级片自拍| 久久蜜桃香蕉精品一区二区三区| 永久看片925tv| 欧美性生活影院| 手机av免费在线观看| 日韩视频一区在线| 久久夜夜操妹子| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 欧美电影一区二区| 飘雪影院手机免费高清版在线观看| 久久成人18免费网站| 久久久久伊人| 免费亚洲一区二区| 日韩一区二区免费看| 日批视频在线看| 国产精品丝袜久久久久久app| 一级黄色免费网站| 亚洲精品xxx| 超碰在线视屏| 91一区二区三区| 亚洲澳门在线| 在线观看免费的av| 中文字幕欧美日韩一区| 欧美 日韩 精品| 日韩精品一区二区视频| av福利导福航大全在线| 97视频资源在线观看| 亚洲一区二区三区无吗| 国产传媒免费观看| 中文字幕中文在线不卡住| 亚洲高清视频免费观看| 亚洲免费视频在线观看| аⅴ资源天堂资源库在线| 99影视tv| 国产综合色产| 国产51自产区| 亚洲成年人网站在线观看| 成人黄色在线观看视频| 久久97久久97精品免视看 | 91麻豆精品国产综合久久久久久| 第一页在线观看| 国产精品日韩在线观看| 精品一区电影| 亚洲一级免费在线观看| 亚洲国产岛国毛片在线| 在线播放亚洲精品| 色老头一区二区三区在线观看| 天天影视久久综合| 国产日韩综合一区二区性色av| 日韩一区亚洲二区| www.超碰97.com| 亚洲人成人一区二区在线观看| 国产毛片久久久久| 九色精品免费永久在线| 凹凸成人在线| 国产福利视频在线播放| 国产农村妇女毛片精品久久麻豆| 最近中文字幕在线视频| 中日韩美女免费视频网址在线观看| 国产精品99| 青青草免费在线视频观看| 丰满放荡岳乱妇91ww| 久草国产精品视频| 国产亚洲精品美女久久久久 | 亚洲xxxx18| 国语精品一区| 国产手机在线观看| 欧美日韩视频在线一区二区| 成人黄色在线电影| 激情小说网站亚洲综合网| 久久综合九色| 搜索黄色一级片| 亚洲成人网在线| 日韩a**中文字幕| 精品国产无码在线| 99久久99久久精品免费观看| 免费看av在线| 欧美第一页在线| 久久不见久久见中文字幕免费| 亚洲精品性视频| 午夜电影网一区| 2017亚洲天堂1024| 不卡一区二区三区四区五区| 免费亚洲婷婷| 国产性xxxx| 亚洲视频自拍偷拍| 日韩一区二区三区色| 日av中文字幕| 亚洲综合视频网| 成人不用播放器| 国产伦精品一区二区三区视频免费 | 九九热视频这里只有精品| 色先锋久久影院av| 污污视频在线免费| 在线视频一区二区三| 精灵使的剑舞无删减版在线观看| 蜜桃成人免费视频|