精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

日本一二三四高清不卡| 亚洲影院一区| 亚洲国产精品999| 成人免费毛片网| 国产乱子伦三级在线播放| 久久精品国产一区二区三| 欧美裸身视频免费观看| 国产熟妇搡bbbb搡bbbb| 伊人久久大香| 欧美性xxxxhd| 91国在线高清视频| 国产区视频在线| 国产福利一区二区三区视频在线 | 97se在线视频| 国产区一区二区三| 欧美日韩视频| 亚洲性夜色噜噜噜7777| 蜜臀aⅴ国产精品久久久国产老师| 亚洲性色av| 亚洲自拍偷拍综合| 国产视频精品在线| 亚洲无在线观看| 波多野结衣亚洲一二三| 一区二区三区精品在线观看| 日本不卡一区二区三区在线观看 | 日本少妇性生活| 1024精品久久久久久久久| 日韩精品免费电影| 日本精品一二三区| 91成人在线网站| 欧洲激情一区二区| 青青在线视频观看| 国产在线美女| 亚洲午夜精品久久久久久久久| 亚洲v国产v| 精品久久久久一区二区三区| 不卡视频在线观看| 国产精品国产亚洲精品看不卡15| 97精品人妻一区二区三区在线| 性高湖久久久久久久久| 午夜精品久久久久久久男人的天堂| 国产性xxxx| 久久久久美女| 欧美床上激情在线观看| 欧美激情图片小说| 正在播放日韩欧美一页 | 小泽玛利亚一区二区免费| 国产在视频线精品视频www666| 日韩精品免费综合视频在线播放| 精品人妻伦一二三区久| a看欧美黄色女同性恋| 日韩欧美在线观看一区二区三区| 手机免费看av网站| 国产精品久久久久久久久久辛辛| 欧美日韩国产中文| 小明看看成人免费视频| av女优在线| 国产偷国产偷精品高清尤物| 欧美日韩天天操| 日本精品专区| 国产片一区二区| 午夜午夜精品一区二区三区文| 国产一级免费在线观看| 国产欧美一区二区精品久导航| 欧美中日韩免费视频| 国产黄色片在线播放| 中文字幕电影一区| 中国成人在线视频| 顶级网黄在线播放| 亚洲一区二区在线免费看| 欧美男女爱爱视频| 国产欧美一区二区三区精品酒店| 欧亚洲嫩模精品一区三区| 国产九九在线视频| 精品中文字幕一区二区三区四区 | 国产成人福利视频| 中文文字幕一区二区三三| 久草这里只有精品视频| www.一区二区三区| 四虎影视在线观看2413| 国产日韩欧美激情| 国产又粗又爽又黄的视频| 色老头在线观看| 精品日本美女福利在线观看| 国产一级不卡毛片| 久久伦理中文字幕| 亚洲精品99久久久久| 国产熟女一区二区| 欧美天天在线| 日韩免费观看视频| 国内精品偷拍视频| 久久先锋资源网| 国产奶头好大揉着好爽视频| 91豆花视频在线播放| 欧美亚洲一区三区| 精品国产aⅴ一区二区三区东京热| 精品视频在线你懂得| 正在播放欧美视频| 国产在线免费视频| 日本最新不卡在线| 国产精品国产亚洲精品看不卡15| 国产黄色免费在线观看| 亚洲成人午夜电影| 91av视频免费观看| 久久av影视| 欧美国产日韩xxxxx| 亚洲av综合一区| 成人动漫视频在线| 三年中国中文在线观看免费播放 | 五月婷婷亚洲| 欧洲一区二区视频| 亚洲第一页综合| 国产精品久久三| 日本韩国欧美在线观看| 国产一区二区三区国产精品| 亚洲女同精品视频| 久久精品视频久久| 精品制服美女久久| 日产精品高清视频免费| av今日在线| 日韩午夜激情电影| 制服丨自拍丨欧美丨动漫丨| 国产精品美女久久久| 99re国产| 美女国产在线| 欧美日韩在线亚洲一区蜜芽| 内射中出日韩无国产剧情| 欧美日韩ab| 91亚洲国产成人久久精品网站| 理论在线观看| 黑人欧美xxxx| 国产白嫩美女无套久久| 亚洲调教视频在线观看| 91在线播放国产| 免费av网站在线看| 欧美日本国产一区| 国产3级在线观看| 日本中文字幕一区二区有限公司| 欧美二级三级| 成人av免费电影网站| 日韩av在线网址| 日韩乱码人妻无码中文字幕| 成人午夜电影网站| 黄色a级片免费看| 日韩成人视屏| 久久99亚洲热视| 亚洲福利在线观看视频| 亚洲国产综合人成综合网站| 国产乱淫av片| 亚洲美女视频在线免费观看| 国模精品娜娜一二三区| ****av在线网毛片| 亚洲黄色www| 三级视频在线观看| 国产亚洲综合性久久久影院| wwwxxx黄色片| 精品国产99| 国产欧美一区二区三区在线| 日韩免费啪啪| 日韩美女视频在线| 精品无码人妻一区二区三区品 | 欧美日韩卡一卡二| 中文字幕资源站| 国产精品亚洲午夜一区二区三区 | 免费观看成人高| 97成人资源| 中文字幕av一区| 国产精品一区二区av白丝下载| 亚洲欧美色一区| 亚洲免费观看在线| 99人久久精品视频最新地址| 久久天堂国产精品| 97成人超碰| 久久亚洲精品一区| 国精产品一品二品国精品69xx | 99综合在线| 欧美综合77777色婷婷| 免费视频成人| 欧美理论电影在线观看| 熟妇人妻av无码一区二区三区| 日韩欧美一区二区在线| 日本成人精品视频| 成人黄色国产精品网站大全在线免费观看| 国产成人黄色片| 国产精品99一区二区三| 国产中文一区二区| 51一区二区三区| 久久久久久999| 国产小视频在线播放| 欧美一级国产精品| 欧产日产国产69| 亚洲欧美日本韩国| 国产美女喷水视频| 韩国一区二区在线观看| 无码人妻丰满熟妇区96| 婷婷亚洲五月色综合| 精品不卡在线| 国产精品美女久久久久| 日本高清视频一区| 国产91足控脚交在线观看| 一本色道久久88综合亚洲精品ⅰ| www.久久久久久久久久| 欧美最猛性xxxxx直播| 精品少妇theporn| 国产精品人妖ts系列视频| 国产精品手机在线观看| 极品少妇一区二区三区精品视频| 亚洲熟妇av一区二区三区漫画| 天天操综合网| 日本视频一区在线观看| av综合网址| 91网在线免费观看| 日韩精品三区| 欧美自拍视频在线| 国产丝袜在线播放| 精品国产区一区二区三区在线观看| 性高潮久久久久久久久久| 欧美一级搡bbbb搡bbbb| www亚洲色图| av亚洲精华国产精华精| 视频区 图片区 小说区| 日本午夜一本久久久综合| 男人日女人bb视频| 亚洲成人资源| 狠狠噜天天噜日日噜| 亚洲h色精品| 亚洲国产精品久久久久婷婷老年| 婷婷五月色综合香五月| 国产精品二区三区| 日韩一区二区三区色| 国产主播喷水一区二区| 主播大秀视频在线观看一区二区| 欧美在线观看日本一区| 国产在线天堂www网在线观看| 欧美精品九九久久| 欧美aaa免费| 欧美区在线播放| 女人天堂av在线播放| 久久的精品视频| www国产在线观看| 久久在线精品视频| 国产午夜精品久久久久免费视| 色老头一区二区三区在线观看| 国产视频网站在线| 国产亚洲综合久久| 成全电影播放在线观看国语| 亚洲片在线观看| 国产系列电影在线播放网址| 亚洲欧美中文在线视频| 大乳在线免费观看| 色爱av美腿丝袜综合粉嫩av| 亚洲成人三级| 久久夜色精品亚洲噜噜国产mv| 男人天堂手机在线| 久久久999成人| 日本片在线看| 97在线视频免费看| 吞精囗交69激情欧美| 国产激情久久久久| 亚洲精品成a人ⅴ香蕉片| 91免费在线视频| 6080成人| 欧美第一黄网| 91综合在线| 中文字幕人妻熟女人妻洋洋| 亚洲国产高清一区| 久久久久久久久久福利| 奇米一区二区三区| 97超碰人人看| 97精品电影院| 欧美激情 一区| 亚洲另类在线视频| 亚洲日本视频在线观看| 欧洲视频一区二区| 午夜精品久久久久久久99| 亚洲精品xxx| 日本中文字幕在线视频| 欧美激情按摩在线| 成人日韩在线| 亚洲自拍小视频免费观看| 久久99国产精品久久99大师| 日韩少妇中文字幕| 欧美激情综合| 精品一卡二卡三卡| 国产精品99久久久久久似苏梦涵| 蜜桃精品成人影片| 亚洲天堂中文字幕| 欧美一区二区三区四| 欧美日韩在线播放| 亚洲国产精品二区| 国产亚洲精品美女| 国产蜜臀av在线播放| 国产成人精品一区二区| 日韩一二三区在线观看| 欧美大陆一区二区| 欧美激情综合| jizz欧美性11| 99re热视频这里只精品| 日韩在线观看免| 日本久久一区二区| 亚洲精品网站在线| 中文在线资源观看视频网站免费不卡 | 免费一级a毛片| 日韩三级电影网址| 波多野结衣一区二区| 97福利一区二区| 91麻豆精品| 久久99精品久久久久久久久久| 色婷婷色综合| 免费大片在线观看| 成人国产一区二区三区精品| 蜜桃av免费观看| 欧美性高跟鞋xxxxhd| www.国产.com| 日韩一级裸体免费视频| 欧美三级网址| 国产在线一区二区三区播放| 91tv官网精品成人亚洲| 久久久久久三级| 91麻豆精品一区二区三区| 久久久国产精品人人片| 欧美丰满一区二区免费视频 | 国产伦精品一区二区三区在线播放| 亚洲国产精品视频一区| 麻豆精品网站| 久久亚洲AV成人无码国产野外| 亚洲综合一二区| 99热在线只有精品| 久久成人免费视频| 日本国产亚洲| 亚洲制服欧美久久| 免费久久99精品国产| xxxx日本黄色| 在线观看www91| 韩国中文字幕2020精品| 国产不卡av在线免费观看| 亚洲丝袜啪啪| 虎白女粉嫩尤物福利视频| 91在线观看地址| 欧美一二三区视频| 日韩av一区二区在线观看| brazzers在线观看| 国产一级二级三级精品| 亚洲国产mv| jizz日本免费| 欧美性猛交丰臀xxxxx网站| 欧美成熟毛茸茸| 国产成人精品久久久| 欧美少妇性xxxx| 91pony九色| 亚洲精品久久久蜜桃| 国产黄a三级三级看三级| 欧美大胆a视频| 8x国产一区二区三区精品推荐| 欧美视频在线观看视频| 99久久精品国产导航| 五月天激情国产综合婷婷婷| 亚洲视频在线观看| 精品久久久网| 三级在线免费观看| 不卡欧美aaaaa| 日本免费在线观看视频| 精品小视频在线| 在线一区视频观看| 中文字幕av久久| www.欧美.com| а中文在线天堂| 久久久精品免费视频| 哺乳一区二区三区中文视频| 精品无码国模私拍视频| 久久亚洲精精品中文字幕早川悠里 | 亚洲欧洲美洲综合色网| 国产99视频在线| 2024亚洲男人天堂| 成人影院在线| 黄色片免费网址| 精品国产乱码久久久久酒店| 成年人免费在线视频| 亚洲一区二区三| 亚洲制服少妇| 香蕉成人在线视频| 亚洲白拍色综合图区| 日韩网站中文字幕| 亚洲熟妇无码av在线播放| 久久婷婷成人综合色| 91极品身材尤物theporn| 欧美极品少妇xxxxx| 少妇精品久久久一区二区| 日本一本在线视频| 欧美丝袜第一区| av文字幕在线观看| 欧美极品一区二区| 国产另类ts人妖一区二区| www.国产色| 欧美精品在线看| 成人毛片在线| 日本69式三人交| 91精品国产综合久久久久久久久久| 高清视频在线观看三级| 亚洲午夜精品一区二区三区|