日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Springboot Autowried及Resouce使用對比解析

瀏覽:13日期:2023-05-13 08:26:27

在做項目時,發現項目中 加載類時,有的地方使用@Autowired,有的地方使用@Resource

在網上搜集了資料

共同點

@Resource和@Autowired都可以作為注入屬性的修飾,在接口僅有單一實現類時,兩個注解的修飾效果相同,可以互相替換,不影響使用。

不同點

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

@Autowired是spring的注解,是spring2.5版本引入的,Autowired只根據type進行注入,不會去匹配name。如果涉及到type無法辨別注入對象時,那需要依賴@Qualifier或@Primary注解一起來修飾。

寫列子

新建 HumanService.java類

package com.komiles.study.service;/** * @author komiles@163.com * @date 2020-03-23 11:46 */public interface HumanService { /** * 跑馬拉松 * @return */ String runMarathon();}

實現類 ManServiceImpl.java

package com.komiles.study.service.impl;import com.komiles.study.service.HumanService;import org.springframework.stereotype.Component;import org.springframework.stereotype.Service;/** * @author komiles@163.com * @date 2020-03-23 11:48 */@Servicepublic class ManServiceImpl implements HumanService { /** * 跑馬拉松 */ @Override public String runMarathon() { return ' A man run marathon'; }}

新建HumanController.java

package com.komiles.study.controller;import com.komiles.study.service.HumanService;import com.komiles.study.service.impl.ManServiceImpl;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * @author komiles@163.com * @date 2020-03-23 11:49 */@RestController@RequestMapping('/human')public class HumanController { @Autowired private HumanService humanService; @GetMapping('/run') public String runMarathon() { return humanService.runMarathon(); }}

運行程序

輸出內容為: man run marathon

把controller里的 @Autowired 改成@Resource 也能正常訪問。

假如我寫多個實現類會怎么樣呢?

新建一個 WomanServiceImpl.java

package com.komiles.study.service.impl;import com.komiles.study.service.HumanService;import org.springframework.context.annotation.Primary;import org.springframework.stereotype.Component;import org.springframework.stereotype.Service;/** * @author komiles@163.com * @date 2020-03-23 12:01 */@Servicepublic class WomanServiceImpl implements HumanService { /** * 跑馬拉松 */ @Override public String runMarathon() { return 'A Woman run marathon'; }}

運行程序,發現報錯了,因為有兩個實現類,程序不知道找那個了

怎么辦呢?

有兩種辦法

第一種,在實現類中給類起名字,在引入的時候直接引入名字。

例如:在ManServiceImpl.java類,@Service上加值。@Service(value = 'manService') 或者 @Component(value = 'manService')

package com.komiles.study.service.impl;import com.komiles.study.service.HumanService;import org.springframework.stereotype.Component;import org.springframework.stereotype.Service;/** * @author komiles@163.com * @date 2020-03-23 11:48 */@Service(value = 'manService')//@Component(value = 'manService')public class ManServiceImpl implements HumanService { /** * 跑馬拉松 */ @Override public String runMarathon() { return ' A man run marathon'; }}

在Controller類中使用時,也需要制定一下名字。

如果使用@Resource 需要加上 @Resource(name='manService')

如果使用@Autowired 需要使用@Qualifier(value='manService')

package com.komiles.study.controller;import com.komiles.study.service.HumanService;import com.komiles.study.service.impl.ManServiceImpl;import javax.annotation.Resource;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * @author komiles@163.com * @date 2020-03-23 11:49 */@RestController@RequestMapping('/human')public class HumanController { @Autowired @Qualifier(value = 'manService')// @Resource(name='manService') private HumanService humanService; @GetMapping('/run') public String runMarathon() { return humanService.runMarathon(); }}

如果想優先引用某一個類,可以在實現類上使用 @Primary。

項目代碼:

https://github.com/KoMiles/springboot/blob/master/src/main/java/com/komiles/study/controller/HumanController.java

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产美女高潮在线观看| 日本va欧美va瓶| 麻豆精品少妇| 日韩不卡一区| 成人羞羞视频在线看网址| 久久精品观看| 日韩一区二区久久| 日韩中文av| 久久av中文| 神马午夜久久| 婷婷成人在线| 亚洲精品精选| 国产精品99久久久久久董美香| 高清日韩中文字幕| 亚洲女同一区| 日韩成人精品一区二区三区| 久久久久亚洲精品中文字幕| 久久精品青草| 亚洲理论在线| 精品国产不卡| 美女精品在线| 麻豆一区二区三区| 国产高清一区二区| 久久激情五月婷婷| 中文在线а√天堂| 婷婷亚洲五月| 国产精品美女在线观看直播| 欧美不卡视频| 国产精品对白| 欧美日韩国产在线一区| 国产毛片一区二区三区| 欧美69视频| 国产另类在线| 伊人成人在线视频| 红杏一区二区三区| 久久福利精品| 91欧美在线| 亚洲一级大片| 午夜精品久久久久久久久久蜜桃| 视频在线观看一区二区三区| 精品一区二区三区视频在线播放| 日本欧美在线看| 九九色在线视频| 国产精品xxx| 国产亚洲毛片在线| 国产一区二区亚洲| 深夜福利亚洲| 国产综合亚洲精品一区二| 青青青国产精品| 欧美日韩国产高清| 欧美久久天堂| 国产精品白丝av嫩草影院| 黄色日韩在线| 亚洲91视频| 精品国产亚洲日本| 综合激情在线| 亚洲一区二区网站| 久久国产小视频| 国产va在线视频| 国产精品成人自拍| 亚洲精品动态| 丝袜国产日韩另类美女| 99精品在线免费在线观看| 久久只有精品| 国产精品手机在线播放| 亚洲91网站| 日韩影院免费视频| 日韩视频久久| 宅男在线一区| 久久精品欧美一区| 久久精品国产免费| 欧美日韩在线精品一区二区三区激情综合 | 久久av日韩| 日本h片久久| 蜜臀av在线播放一区二区三区| 久久精品国产亚洲夜色av网站| 中文字幕成在线观看| 国产videos久久| 日本一二区不卡| 精品少妇av| 久久精品国产网站| 国产高清亚洲| 麻豆精品久久| 国产精品成人自拍| 国产精品视频3p| 国产精品麻豆成人av电影艾秋 | 国户精品久久久久久久久久久不卡 | 欧美精品一线| 亚洲精华国产欧美| 9久re热视频在线精品| 亚洲高清久久| 婷婷亚洲五月色综合| 成人av二区| 一区二区亚洲精品| 亚洲午夜91| 91高清一区| 国产亚洲精品v| 免播放器亚洲一区| 一区二区三区四区日韩| 日日摸夜夜添夜夜添国产精品| 日韩中文字幕| 欧美激情久久久久久久久久久| 国产精品1luya在线播放| 捆绑调教美女网站视频一区| 成人一区而且| 日韩中文字幕高清在线观看| 日韩欧美字幕| 亚洲精品99| 蜜桃传媒麻豆第一区在线观看| 日韩一区二区三区在线看| 日韩福利视频导航| 国产精东传媒成人av电影| 国产66精品| 亚洲欧美一区在线| 日本中文字幕视频一区| 麻豆精品久久久| 蜜桃精品在线| 老色鬼久久亚洲一区二区| 18国产精品| 日本美女一区| 日韩一级网站| 国产亚洲观看| 日韩一区二区三区免费播放| 在线亚洲精品| 国产精品免费99久久久| 久久久一二三| 日韩精品久久久久久久软件91| 久久久久九九精品影院| 激情综合亚洲| 69堂免费精品视频在线播放| 国产成人免费| 视频一区二区三区在线| 国产精选一区| 国产字幕视频一区二区| 欧美在线黄色| 日韩成人亚洲| 婷婷成人av| 亚洲伦乱视频| 日韩手机在线| 日韩大片在线播放| 亚洲精品大片| 日本美女一区| 日韩av中文在线观看| 成人美女视频| 日本午夜免费一区二区| 日韩免费看片| 91嫩草精品| 激情综合网站| 狂野欧美性猛交xxxx| 亚洲综合二区| 国产在视频一区二区三区吞精| 一区在线视频观看| 精品国产中文字幕第一页| 久久最新视频| 亚洲午夜天堂| 日韩动漫一区| 国产视频一区三区| av资源新版天堂在线| 日本中文字幕视频一区| 久久精品国产亚洲夜色av网站| 国产亚洲一区二区三区啪| 亚洲免费播放| 亚洲一级少妇| 国产精品一区亚洲| 天堂av在线一区| 美女福利一区二区三区| 国产欧美啪啪| 亚洲精品欧洲| 夜夜嗨网站十八久久| 亚洲综合在线电影| 麻豆91小视频| 日本欧美一区| 亚洲色图综合| 日韩视频不卡| 在线日韩av| 在线看片福利| 久久超碰99| 欧美亚洲国产日韩| 四虎国产精品免费久久| 亚洲一区二区三区免费在线观看| 国产成人精品三级高清久久91| 日本国产一区| 视频一区日韩精品| 免费精品视频| 中文亚洲免费| 免费精品国产| 99久久精品费精品国产| zzzwww在线看片免费| 久久影院资源站| 国产精品亚洲四区在线观看 | 久久午夜视频| 伊人成人网在线看| 波多野结衣一区| 不卡在线一区二区| 色在线视频观看| 日韩黄色大片网站| 天堂√8在线中文| 美女一区网站| 日韩久久精品网| 国产99久久|