Spring、Springboot常用注解:@Qualifier(不定时更新)


1、@Qualifier

出现场景:

老项目中有多个实现类实现同一个接口时,或者一个项目中有多个数据源时,spring容器不知道该注入哪个实现类或者使用哪个数据源,该注解就派上用场。

1)多实现类实现同一接口

 1 //接口
 2 public interface MemberService {
 3     public Member getMemberById(Long mid);
 4 }
 5 //实现类一
 6 @Service("memberService1")
 7 public class MemberServiceImpl1 implements MemberService{
 8     @Override
 9     public Member getMemberById(Long mid){
10         //业务代码1
11     }
12 }
13 //实现类二
14 @Service("memberService2")
15 public class MemberServiceImpl2 implements MemberService{
16     @Override
17     public Member getMemberById(Long mid){
18         //业务代码2
19     }
20 }
21 //调用类
22 @Controller("/member")
23 public class MemberController{
24     @Autowired
25     @Qualifier("memberService2") //此处如果不使用该注解则报错,原因就是容器不知道注入哪一个实现类
26     private MemberService memberService;
27     
28     @PostMapping(value = "/getMember",produces ={MediaType..APPLICATION_JSON_VALUE})
29     public Response getMember(Long mid){
30         return new Response().setDate(memberService.getMemberById(mid));
31     }
32 }
View Code

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM