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之@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这三大注解自动装配组件,你会了吗?