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

 

转载于:https://www.cnblogs.com/aquriushu/p/10304494.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值