Spring 使用@Primary @Qualifier解决多实现冲突
Posted boonya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 使用@Primary @Qualifier解决多实现冲突相关的知识,希望对你有一定的参考价值。
目录
案例设置
下面是通过文件解析JSON数据来做的缓存。
下面是基于FileParamCache实现的DatabaseParamCache。
在项目启动的时候会出现:expected single matching bean but found 2异常。
问题解决
这个冲突一般有两种解法:@Qualifier 和@Primary。
@Primary:自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常。
@Qualifier: 用于指定多个Bean实现候选者的装配名称,如果出现多个不指定也会报错。
以上是关于Spring 使用@Primary @Qualifier解决多实现冲突的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 2.1 bean 覆盖与 Primary
@Primary 等效于自动装配的 Spring JPA 存储库
Spring Batch @Primary 注释覆盖不正确的bean
spring in action 学习笔记八:用@Primary 或者@Qualifier消除@Autowired引起的歧义现象
Spring注解驱动开发第20讲——使用@Autowired@Qualifier@Primary这三大注解自动装配组件,你会了吗?