亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

Spring @Primary和@Qualifier注解原理解析

瀏覽:10日期:2023-09-10 13:22:46

一 前言

本篇內容主要是講解2個重要的注解使用方式和場景,@Primary,@Qualifier注解;其作用就是消除bean注入時的歧義,能夠讓spring容器知道加載哪個bean;

知識追尋者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 實現方式

如下示例中使用被單接口Sheet, 實現類為SheetA , SHeetB ; 由于注入容器時都是 Sheet類型,會發生異常,此時就是使用@Primary或者@Qualifier對注入的bean進行限制,即可實現正常注入;

2.1 被單接口

/** * @Author lsc * <p> 被單</p> */public interface Sheet { String getColor();}

2.2 被單實現類

實現類A

重寫getColor()方法;輸出red

/** * @Author lsc * <p> </p> */public class SheetA implements Sheet { public String getColor() { return 'red'; }}

實現類B

重寫getColor()方法;輸出pink

/** * @Author lsc * <p> </p> */public class SheetB implements Sheet { public String getColor() { return 'pink'; }}

2.3 配置類

@Configurationpublic class SheetConfig { @Bean public Sheet sheetA(){ return new SheetA(); } @Bean public Sheet sheetB(){ return new SheetB(); }}

2.4 測試類

/** * @Author lsc * <p> </p> */@RunWith(SpringJUnit4ClassRunner.class)//創建spring應用上下文@ContextConfiguration(classes= {SheetConfig.class})//加載配置類public class SheetTest { @Autowired Sheet sheet; @Test public void sheetTest(){ // System.out.println(sheet.getColor()); }}

測試會報異常,原因是向spring容器注入了2個Sheet,無法區分是SheetA 還是 SheetB,所以會造成bean的歧義問題;

Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException:

解決辦法一

在注入的bean上添加@Primary注解;示例如下,此時向sheetB上添加@Primary注解,spring掃碼注入bean時優先注入帶有@Primary注解的bean;測試輸出結果為pink

@Bean@Primarypublic Sheet sheetB(){return new SheetB();}

解決辦法二

注入bean時添加@Qualifier注解,限定注入的Bean;此時輸出就是red

@Qualifier('sheetA')//限定注入Bean ID@AutowiredSheet sheet;

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

標簽: Spring
相關文章:
主站蜘蛛池模板: 欧美一级黄色毛片 | 黄色一级片录像 | 黄色视频一级毛片 | 国产伦精品一区二区三区网站 | 播放中国女人毛片一级带 | 欧美日韩成人高清在线播放 | 国产农村乱色xxxx | 国产精品高清一区二区三区 | 色一情一伦一区二区三 | 全免费a级毛片免费毛视频 全免费a级毛片免费看 | 水蜜桃爱爱yy视频在线观看 | 91视频最新网站 | 久久久精品一级二级三级 | 1024人成网站色 | 色婷婷.com| 成人在线观看午夜 | 国产精品福利网站 | 成人在线网 | 欧美成人精品不卡视频在线观看 | 久草免费福利资源站在线观看 | 亚洲免费黄色 | 五月天婷色 | 精品精品久久宅男的天堂 | 精品欧美一区二区在线观看欧美熟 | 欧美夜夜精品一级爽 | 欧美高清一级毛片免费视 | 国产美女亚洲精品久久久综合 | 美国一级毛片完整高清 | 黄色视片| 亚洲精品91 | 欧美综合偷拍在线另类卡通小说 | 中国女人真人一级毛片 | 日韩在线观看中文字幕 | 亚洲国产福利 | 日本久久中文字幕精品 | 亚洲综合图片人成综合网 | 国产色视频一区二区三区 | 男人在线网址 | 视频在线一区二区三区 | 老头边吃奶边做边爱 | 亚洲国产一区在线精选 |