Spring的注解@Qualifier用法与简析
1 基本说明
使用@Qualifier可以分别为同样类型的Bean分别注入不同的依赖值
然后当我们@Autowired注入时就会出现异常,NoUniqueBeanDefinitionException, 以提示有多个满足条件的 bean 进行自动装配。程序无法正确做出判断使用哪一个。
@Autowiredprivate TestService testService;
2 @Qualifier 注解 可以解决上述问题
@Autowired@Qualifier("testServiceImpl1")private TestService testService;@Autowired@Qualifier("testServiceImpl2")private TestService testService2;
通过将 @Qualifier 注解与我们想要使用的特定 Spring bean 的名称一起进行装配,Spring 框架就能从多个相同类型并满足装配要求的 bean 中找到我们想要的.
3 @Primary
对同一个接口,可能会有几种不同的实现类,如这里的 TestServiceImpl2 与 TestServiceImpl1.
@Service
public class TestServiceImpl1 implements TestService{@Overridepublic void test() {System.out.println("TestServiceImpl1 test 方法 ");}
}
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;@Service
@Primary
public class TestServiceImpl2 implements TestService{@Overridepublic void test() {System.out.println("TestServiceImpl2 test 方法 ");}
}
在使用 @Autowired 注解进行对象注入时,就会默认加载TestServiceImpl2
@Autowiredprivate TestService testService;
Spring的注解@Qualifier用法与简析相关推荐
- Spring的注解@Qualifier用法
Spring的注解@Qualifier用法 在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl呢? 根据注入资源的注解不同实现的方式有一点小小的 ...
- 浅谈Spring框架注解的用法分析
1.@Component是Spring定义的一个通用注解,可以注解任何bean. 2.@Scope定义bean的作用域,其默认作用域是"singleton",除此之外还有proto ...
- 浅谈 Spring 框架注解的用法分析
1.@Component是Spring定义的一个通用注解,可以注解任何bean. 2.@Scope定义bean的作用域,其默认作用域是"singleton",除此之外还有proto ...
- Spring的注解@Qualifier注解
概念 @Qualifier是Spring中的注解,是在使用Spring框架中@Autowired注解进行自动注入时,Spring 容器中匹配的候选Bean数目必须有且仅有一个 . 这是因为在使用Spr ...
- SpringBoot的注解@Qualifier用法
在Controller中需要注入service那么我的这个server有两个实现类如何区分开这两个impl呢? 根据注入资源的注解不同实现的方式有一点小小的区别 下面上铺垫图 请忽略我的红线 ##在C ...
- C++ shared_ptr用法、简析、案例
shared_ptr用法 1 shared_ptr简介 2 shared_ptr案例 2.1 reset()的理解 2.2 make_shared的理解 2.3 shared_ptr中的指针转型问题 ...
- Spring Boot源码简析 @Qualifier
源码 @Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.TYPE, ElementT ...
- Spring注解@Qualifier的详细用法你知道几种「扩展点实战系列」- 第444篇
历史文章(文章累计440+) <国内最全的Spring Boot系列之一> <国内最全的Spring Boot系列之二> <国内最全的Spring Boot系列之三> ...
- Spring Boot源码简析 @EnableTransactionManagement
相关阅读 Spring Boot源码简析 事务管理 Spring Boot源码简析 @EnableAspectJAutoProxy Spring Boot源码简析 @EnableAsync Sprin ...
最新文章
- 吗 使用的是_论文是可以反复使用吗?
- 从Windows Server 2003升级到2008
- linux dump用法,Linux命令之tcpdump命令用法介绍
- 想象中的同居生活 VS 真实的同居生活
- [vue] 说说你对slot的理解有多少?slot使用场景有哪些?
- LeetCode 604. 迭代压缩字符串
- linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(执行安装_07)
- git clone --depth=1 -b 4.24
- ehcache springboot_阿里内部进阶学习SpringBoot+Vue全栈开发实战文档
- 3dmax导出fbx没有贴图_SU教程 | 如何通过Skimp插件导入高质量模型、优化模型、匹配贴图?...
- 48.怎样消除桌面图标上的小箭头:
- 才子进销存软件各版本说明
- louvain算法python_【转载】LOUVAIN算法
- box-sizing的属性
- iOS代码质量要求_图片压缩(iOS)
- CSS实现元素翻转效果
- [TJOI2013]松鼠聚会
- Android【Socket通讯】
- 屏幕亮度自动调节的实现
- iperf 网速测速