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

面試必問:@Autowired 和 @Resource 有什么區別?

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

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

  1. 來源不同;
  2. 依賴查找的順序不同;
  3. 支持的參數不同;
  4. 依賴注入的支持不同;
  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 都是既使用了名稱查找又使用了類型查找,但二者進行查找的順序卻截然相反。

(1)@Autowired 查找順序

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

圖片

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

圖片

(2)@Resource 查找順序

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

圖片

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

圖片

(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 種實現:

  1. 屬性注入
  2. 構造方法注入
  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 點不同:

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

參考 & 鳴謝

  • www.cnblogs.com/felordcn/p/13063802.html
  • blog.csdn.net/CPLASF_/article/details/109225213
責任編輯:姜華
相關推薦

2023-02-01 07:15:16

2022-08-29 07:05:02

JSRJava語言

2022-09-27 07:31:57

Property模式數據

2022-08-22 07:06:32

MyBatisSQL占位符

2022-02-08 07:02:32

進程線程操作系統

2022-08-15 07:06:50

Propertiesyml配置

2022-08-03 07:04:56

GETHTTPPOST

2022-08-10 07:06:57

IoCDISpring

2022-04-24 07:59:53

synchronizJVMAPI

2023-03-26 21:51:42

2023-02-17 08:10:24

2024-04-03 15:33:04

JWTSession傳輸信息

2024-09-19 08:42:43

2024-09-24 13:49:13

SQL數據庫

2025-07-08 08:57:29

2024-05-27 00:40:00

2021-05-16 14:26:08

RPAIPACIO

2022-02-27 15:33:22

安全CASBSASE

2022-08-02 08:23:37

SessionCookies

2021-12-17 14:40:02

while(1)for(;;)語言
點贊
收藏

51CTO技術棧公眾號

男男激情在线| 精品在线视频免费| 日日夜夜亚洲精品| 一区二区三区毛片| 欧美日韩系列| 国产成人a人亚洲精品无码| 伊人久久久大香线蕉综合直播| 日韩电影免费观看中文字幕| 日本人视频jizz页码69| 欧美xxxx黑人又粗又长| 久久精品欧美一区二区三区麻豆| 亚洲aaa激情| 精品人妻一区二区三区免费看 | 六月丁香婷婷久久| 欧美极品少妇xxxxⅹ免费视频| www.久久av| 精品国产鲁一鲁****| 欧美性猛交xxxx乱大交蜜桃| 日本精品免费视频| 国产精品天堂| 成人av网站免费观看| 国产日韩欧美自拍| 国产伦精品一区二区三区视频网站| 国产精品久久久久久久久久10秀| 日韩精品视频在线观看网址| 极品粉嫩美女露脸啪啪| xxx欧美xxx| 亚洲国产va精品久久久不卡综合| 亚洲国产婷婷香蕉久久久久久99| 午夜激情小视频| 国产黄色成人av| 国产精品日韩在线播放| 中文字幕视频网站| 在线免费高清一区二区三区| www.日韩不卡电影av| 免费人成又黄又爽又色| 欧美亚洲国产日韩| 日韩三级中文字幕| 超碰成人在线播放| 精品裸体bbb| 色94色欧美sute亚洲13| 日本韩国欧美在线观看| 好看的中文字幕在线播放| 亚洲视频网在线直播| 亚洲三级一区| 在线a人片免费观看视频| 久久久久久久久99精品| 国精产品一区二区| 手机av在线免费观看| 成人午夜又粗又硬又大| 91在线观看免费高清| 91久久精品国产91性色69| 蜜桃视频一区二区三区| 国产精品2018| 国产美女www爽爽爽| 石原莉奈在线亚洲三区| 国产精品第七影院| 成人毛片一区二区三区| 丝袜美腿成人在线| 国产精品白丝jk喷水视频一区| 日本a级c片免费看三区| 久久中文欧美| 国产精品入口日韩视频大尺度| 国产一级精品毛片| 久久精品国产亚洲高清剧情介绍| 国产日韩在线精品av| 一区二区www| 久久精品久久精品| 亚洲一区免费网站| 国精产品一品二品国精品69xx | 国产原创视频在线观看| 中文字幕在线不卡一区| 国产福利片一区二区| 永久免费网站在线| 偷拍一区二区三区四区| 日韩精品一区二区三区久久| 日韩成人高清| 欧美一级一级性生活免费录像| 亚洲精品久久久久久| 精品淫伦v久久水蜜桃| 亚洲精品午夜精品| 阿v天堂2014| 91久久电影| 欧美激情一区二区三区在线视频观看 | 免费久久久久久| 金瓶狂野欧美性猛交xxxx | 日韩亚洲国产中文字幕| 欧美高清视频一区二区三区| 亚洲精品孕妇| 国产精品久久久久99| 国产绳艺sm调教室论坛| 成人国产亚洲欧美成人综合网| 欧美精品一区三区在线观看| 色的视频在线免费看| 亚洲动漫第一页| 激情内射人妻1区2区3区| 四虎影视成人精品国库在线观看| 日韩一区和二区| 毛茸茸多毛bbb毛多视频| 日韩精品一卡| 国内精品国产三级国产在线专| 黄色av一区二区| 国产一区二区福利| 欧美极品视频一区二区三区| 3d玉蒲团在线观看| 欧洲一区在线观看| 亚洲成a人无码| 日韩精品不卡一区二区| 午夜精品一区二区三区在线视频| 欧美另类高清videos的特点| 成人午夜在线播放| 综合视频在线观看| 成人午夜精品| 亚洲白拍色综合图区| 992在线观看| 国产精品丝袜xxxxxxx| 92国产精品久久久久首页| 国产福利在线| 狠狠久久亚洲欧美专区| aaa黄色大片| 99热国内精品| 国产精品极品在线| 欧美日韩在线中文字幕| 亚洲自拍偷拍av| 亚洲精品手机在线观看| 美女精品一区最新中文字幕一区二区三区| 蜜月aⅴ免费一区二区三区| 中国一级特黄视频| 久久久久久9999| 免费av手机在线观看| 日韩区一区二| 最近的2019中文字幕免费一页 | 豆国产97在线| 国产三区在线观看| 欧美日韩三级一区| 中文字幕免费在线看线人动作大片| 亚洲经典三级| 999视频在线观看| 成人日日夜夜| 欧美一级搡bbbb搡bbbb| 女人18毛片毛片毛片毛片区二| 日韩精品久久理论片| 久久久久久久久一区| 操人在线观看| 亚洲精品电影在线| 日本少妇xxxx动漫| 成人高清免费观看| 欧美精品卡一卡二| 另类尿喷潮videofree| 久久久久久噜噜噜久久久精品| 国内毛片毛片毛片毛片| 亚洲女性喷水在线观看一区| 一级做a爱视频| 亚洲一区二区| 97se国产在线视频| 草美女在线观看| 亚洲国产高清高潮精品美女| 一级片免费网址| av中文字幕在线不卡| 男人添女人下面高潮视频| 欧美1区2区3区4区| 国产91免费观看| eeuss影院在线观看| 欧美日韩另类国产亚洲欧美一级| 亚洲天堂精品一区| 黑人巨大精品欧美黑白配亚洲| 99热这里只有精品7| 影音先锋欧美激情| 国语自产精品视频在免费| 色香蕉在线视频| 狠狠色狠狠色综合日日五| 色欲狠狠躁天天躁无码中文字幕| 免费欧美在线视频| 国产日韩第一页| a看欧美黄色女同性恋| 97精品国产97久久久久久免费| 日本福利片高清在线观看| 欧美系列一区二区| 九九九久久久久| 成人精品视频.| 欧美日韩一区二区在线免费观看| 欧美疯狂party性派对| 成人在线看片| 日本综合字幕| 不卡毛片在线看| 亚洲色偷精品一区二区三区| 欧美三级乱人伦电影| 久久久久亚洲av无码专区体验| av不卡免费在线观看| 国产小视频精品| 黄色另类av| 日本在线高清视频一区| 国产一区二区三区黄网站| 97超碰色婷婷| 黄色网址在线免费| 日韩电影中文字幕在线观看| 一区二区三区免费在线| 亚洲成av人片在线观看无码| 亚洲精品视频网址| 成人国产精品视频| 三级av免费观看| 99国产精品私拍| 亚洲av综合色区| 国产影视精品一区二区三区| 亚洲free性xxxx护士hd| 欧美精品日日操| 欧美—级高清免费播放| 成年人免费在线视频| 亚洲国产精品网站| 99久久国产免费| 欧美在线看片a免费观看| 国产亚洲欧美精品久久久久久 | 美腿丝袜亚洲一区| 久久亚洲中文字幕无码| 在线中文字幕亚洲| 五月婷婷综合色| 日韩最新在线| 99porn视频在线| 999色成人| 国产精品福利小视频| 毛片在线网站| 欧美黑人一级爽快片淫片高清| 午夜视频在线观看网站| 亚洲视频在线视频| 国产精品国产高清国产| 日韩精品一区二区三区视频| 中文字幕久久网| 日本韩国欧美一区二区三区| 欧美一二三区视频| 亚洲国产中文字幕| 欧美成人精品激情在线视频| 国产精品二区一区二区aⅴ污介绍| 日韩人妻无码一区二区三区| 成人精品视频一区二区三区| 佐佐木明希电影| 国产成人在线观看| 中文字幕人妻无码系列第三区| 久久国产视频网| 美女在线视频一区二区| 日本欧美在线看| 9久久婷婷国产综合精品性色 | 五月婷婷丁香综合网| 香蕉成人久久| 无码人妻丰满熟妇区96| 亚洲久色影视| 欧美成人高潮一二区在线看| 精品成人国产| 男女猛烈激情xx00免费视频| 欧美.日韩.国产.一区.二区| 2022中文字幕| 欧美一区高清| 男人天堂新网址| 激情丁香综合| 成人毛片一区二区| 亚洲中字在线| av网站在线不卡| 另类成人小视频在线| 成人黄色一级大片| 国产一区二三区| 91精品国产高清91久久久久久 | 国产激情视频在线| 久久国产视频网站| a级片免费在线观看| 2021国产精品视频| 国产精品久久久久av电视剧| 国产精品视频网站| 天堂精品久久久久| 久久影视中文粉嫩av| 成人短片线上看| 亚洲 欧洲 日韩| 亚洲视频精品| 日韩av片在线看| 青青草成人在线观看| 又色又爽又黄视频| 成人短视频下载| 欧美特级黄色录像| 一区免费观看视频| 久久精品欧美一区二区| 色综合天天综合网天天狠天天| 亚洲高清视频免费观看| 91精品国产色综合久久不卡电影| 亚洲AV无码精品自拍| 亚洲精品狠狠操| av大全在线免费看| 欧美黄色片视频| 户外露出一区二区三区| 91久久久亚洲精品| 欧美挤奶吃奶水xxxxx| 亚洲欧洲在线一区| 在线成人欧美| 亚洲精品自拍网| 成人黄色网址在线观看| 337人体粉嫩噜噜噜| 亚洲精品高清在线| 欧美日韩在线视频播放| 日韩精品一区二区三区四区视频| 你懂的在线看| 九九热视频这里只有精品| 午夜精品久久久久久久久久蜜桃| 91精品免费视频| 免费成人高清在线视频theav| 在线一区高清| 亚洲欧美视频| 中文字幕99页| 中文字幕一区二区三区四区| 动漫精品一区一码二码三码四码| 欧美丝袜丝交足nylons图片| 色呦呦中文字幕| 久热爱精品视频线路一| 亚洲综合av一区二区三区| 国产精品视频免费观看| 国产高清一区二区| 亚洲欧美另类动漫| 99re这里只有精品视频首页| 国精品无码一区二区三区| 在线视频国内自拍亚洲视频| 欧洲成人一区二区三区| 日韩中文字在线| 国产精品扒开腿做爽爽爽视频软件| 99视频在线播放| 亚洲老妇激情| 777视频在线| 国产午夜精品久久久久久免费视 | 欧美中文字幕一区| 五月天福利视频| 欧美日本国产在线| 99国内精品久久久久| 亚洲三区视频| 日本伊人色综合网| 波多野在线播放| 色偷偷久久一区二区三区| 熟妇人妻一区二区三区四区 | 先锋欧美三级| 久久久久久久久久久久久9999| 国产尤物精品| 风韵丰满熟妇啪啪区老熟熟女| 亚洲三级电影全部在线观看高清| 波多野结衣小视频| 国产午夜精品美女视频明星a级| 无遮挡在线观看| 精品无人区一区二区三区竹菊| 激情偷拍久久| 中文字幕天堂av| 亚洲成国产人片在线观看| 成人精品在线播放| 欧美丰满少妇xxxxx做受| 日韩中文字幕无砖| 国产 国语对白 露脸| 国产白丝精品91爽爽久久| 久草免费在线视频观看| 日韩免费电影一区| 国模私拍视频在线播放| 国产精品一区二区你懂得| 影音先锋久久| 亚洲AV无码国产精品| 色av一区二区| 素人av在线| 亚洲综合第一页| 欧美三级小说| 亚洲制服丝袜在线播放| 欧美色另类天堂2015| 国产黄在线观看| 国产在线拍偷自揄拍精品| 中文字幕一区二区三区欧美日韩| 波多野结衣中文字幕在线播放| 亚洲综合区在线| 四虎影视在线播放| 国产精品高清在线观看| 婷婷综合久久| 青青草视频网站| 91久久精品一区二区三| 午夜伦全在线观看| 成人一区二区三区四区| 翔田千里一区二区| 日韩亚洲欧美中文字幕| 日韩免费视频线观看| 成人线上视频| 91制片厂免费观看| 99精品1区2区| 特级西西444www大胆免费看| 欧美成人中文字幕在线| 亚洲小说图片视频| 女同激情久久av久久| 亚洲成人精品在线观看| 98在线视频| 国产一区二区三区色淫影院| 日韩激情视频网站| www青青草原| 国产亚洲美女久久| eeuss鲁片一区二区三区| 999精品网站| 一区二区三区高清在线| 国产女人在线视频| 北条麻妃高清一区| 日本 国产 欧美色综合| 国产性70yerg老太| 中文字幕日韩在线观看| 99精品中文字幕在线不卡 | 久久久精品一区二区毛片免费看| 大西瓜av在线|