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