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

Spring中的@Qualifier注解和@Resource注解區(qū)別解析

 更新時間:2023年11月10日 09:23:27   作者:著力  
這篇文章主要介紹了Spring中的@Qualifier注解和@Resource注解區(qū)別解析,@Qualifier注解的用處是當(dāng)一個接口有多個實現(xiàn)的時候,為了指名具體調(diào)用哪個類的實現(xiàn),@Resource注解可以通過 byName命名和byType類型的方式注入,需要的朋友可以參考下

@Qualifier和@Resource注解

在傳統(tǒng)的MVC實現(xiàn)里面Spring boot 的controller-service-Impl-Dao-db controller層調(diào)用service接口層里面的方法大多使用@Autowired自動注入注解

實際上調(diào)用Impl的具體實現(xiàn),但是當(dāng)一個接口的方法,對應(yīng)多個實現(xiàn)的時候,怎么區(qū)分到底注入哪一個呢

答案是@Qualifier注解和@Resource注解

  • @Qualifier注解的用處:當(dāng)一個接口有多個實現(xiàn)的時候,為了指名具體調(diào)用哪個類的實現(xiàn)
  • @Resource注解:可以通過 byName命名 和 byType類型的方式注入, 默認(rèn)先按 byName的方式進(jìn)行匹配,如果匹配不到,再按 byType的方式進(jìn)行匹配。 可以為 @Service和@Resource 添加 name 這個屬性來區(qū)分不同的實現(xiàn)

例如:

@Service
public interface myService{
	public int findSomeone();
}

//第一種實現(xiàn)
@Service("myServiceImpl1")
public class myServiceImpl1 implements myService{
	@Overide
	public int findSomeone() {
		//根據(jù)身份找
	}
}

//第二種實現(xiàn)
@Service("myServiceImpl2")
public class myServiceImpl2 implements myService{
	@Override
	public int findSomeone() {
		//根據(jù)名字找
	}
}

在controller層,

采用

1、@Autowired和@Qualifier(“myServiceImpl1”)結(jié)合;

或者

2、@Resource(name = “myServiceImpl2”); 兩種方式指定要注入的是接口的具體是哪個實現(xiàn)類

@Controller
public class UserController{
	@Autowired
	@Qualifier("myServiceImpl1")
	public myService myservice;

	@Resource(name = "myServiceImpl2")
	public myService myservice2;
	
	@RequestMapping("/findSomeone")
	public User findSomeone(@RequestParam("xx") int xx) {
		User user = myservice.findSomeone(xx);
		return user;
	}
}

到此這篇關(guān)于Spring中的@Qualifier注解和@Resource注解區(qū)別解析的文章就介紹到這了,更多相關(guān)@Qualifier和@Resource注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot處理請求參數(shù)中包含特殊符號

    SpringBoot處理請求參數(shù)中包含特殊符號

    今天寫代碼遇到了一個問題,請求參數(shù)是個路徑“D:/ExcelFile”,本文就詳細(xì)的介紹一下該錯誤的解決方法,感興趣的可以了解一下
    2021-06-06
  • struts升級到2.5.2遇到的問題及解決方案(推薦)

    struts升級到2.5.2遇到的問題及解決方案(推薦)

    原來的版本是2.3.x,由于安全原因需要升級到2.5.2。但是在升級過程中遇到各種各樣的問題,下面小編給大家?guī)砹藄truts升級到2.5.2遇到的問題及解決方案,需要的朋友參考下吧
    2016-11-11
  • 內(nèi)存屏障由來及實現(xiàn)思路

    內(nèi)存屏障由來及實現(xiàn)思路

    這篇文章主要為大家詳細(xì)介紹了內(nèi)存屏障由來及實現(xiàn)思路的詳細(xì)講解,讓大家徹底的理解內(nèi)存屏障,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-01-01
  • JAVA設(shè)計模式之組合模式原理與用法詳解

    JAVA設(shè)計模式之組合模式原理與用法詳解

    這篇文章主要介紹了JAVA設(shè)計模式之組合模式,簡單說明了組合模式的原理,并結(jié)合實例分析了java組合模式的具體用法,需要的朋友可以參考下
    2017-08-08
  • springboot實現(xiàn)全局異常處理的方法(住家飯系統(tǒng))

    springboot實現(xiàn)全局異常處理的方法(住家飯系統(tǒng))

    住家飯系統(tǒng)將異常類型分為客戶端異常(ClientException),系統(tǒng)異常(ServiceException),遠(yuǎn)程調(diào)用異常(RemoteException),本文給大家介紹springboot實現(xiàn)全局異常處理的方法,感興趣的朋友一起看看吧
    2025-05-05
  • java 中迭代器的使用方法詳解

    java 中迭代器的使用方法詳解

    這篇文章主要介紹了java 中迭代器的使用方法詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • SpringBoot整合MinIO實現(xiàn)文件上傳的方法詳解

    SpringBoot整合MinIO實現(xiàn)文件上傳的方法詳解

    一般涉及到文件上傳,基本上都是保存在項目本地,這種方式比較省事,但是安全性不高。所以今天給大伙詳細(xì)介紹一些如何利用MinIO實現(xiàn)文件上傳,感興趣的可以了解一下
    2022-05-05
  • SpringBoot文件分片上傳的示例代碼

    SpringBoot文件分片上傳的示例代碼

    分片上傳在很多地方都可以使用的到,本文主要介紹了SpringBoot文件分片上傳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Spring學(xué)習(xí)筆記3之消息隊列(rabbitmq)發(fā)送郵件功能

    Spring學(xué)習(xí)筆記3之消息隊列(rabbitmq)發(fā)送郵件功能

    這篇文章主要介紹了Spring學(xué)習(xí)筆記3之消息隊列(rabbitmq)發(fā)送郵件功能的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • java設(shè)置session過期時間的實現(xiàn)方法

    java設(shè)置session過期時間的實現(xiàn)方法

    這篇文章主要介紹了java設(shè)置session過期時間的實現(xiàn)方法,以實例形式詳細(xì)講述了具體實現(xiàn)過程,非常具有參考借鑒價值,需要的朋友可以參考下
    2014-10-10

最新評論

宾阳县| 沂源县| 宁城县| 渭源县| 毕节市| 溆浦县| 游戏| 辽宁省| 泰兴市| 米脂县| 南漳县| 鄱阳县| 赣榆县| 达尔| 城固县| 万全县| 建瓯市| 临沂市| 商都县| 青川县| 肃南| 霍邱县| 宽甸| 七台河市| 桦川县| 巴林右旗| 延安市| 历史| 方正县| 巴中市| 大荔县| 栖霞市| 兴安盟| 佳木斯市| 革吉县| 永宁县| 馆陶县| 宣威市| 乌兰浩特市| 上饶县| 兴宁市|