Spring中的@Qualifier注解和@Resource注解區(qū)別解析
@Qualifier和@Resource注解
在傳統(tǒng)的MVC實現(xiàn)里面Spring boot 的controller-service-Impl-Dao-db controller層調(diào)用service接口層里面的方法大多使用@Autowired自動注入注解
實際上調(diào)用Impl的具體實現(xiàn),但是當(dāng)一個接口的方法,對應(yīng)多個實現(xiàn)的時候,怎么區(qū)分到底注入哪一個呢
答案是@Qualifier注解和@Resource注解
- @Qualifier注解的用處:當(dāng)一個接口有多個實現(xiàn)的時候,為了指名具體調(diào)用哪個類的實現(xiàn)
- @Resource注解:可以通過 byName命名 和 byType類型的方式注入, 默認(rèn)先按 byName的方式進(jìn)行匹配,如果匹配不到,再按 byType的方式進(jìn)行匹配。 可以為 @Service和@Resource 添加 name 這個屬性來區(qū)分不同的實現(xiàn)
例如:
@Service
public interface myService{
public int findSomeone();
}
//第一種實現(xiàn)
@Service("myServiceImpl1")
public class myServiceImpl1 implements myService{
@Overide
public int findSomeone() {
//根據(jù)身份找
}
}
//第二種實現(xiàn)
@Service("myServiceImpl2")
public class myServiceImpl2 implements myService{
@Override
public int findSomeone() {
//根據(jù)名字找
}
}
在controller層,
采用
1、@Autowired和@Qualifier(“myServiceImpl1”)結(jié)合;
或者
2、@Resource(name = “myServiceImpl2”); 兩種方式指定要注入的是接口的具體是哪個實現(xiàn)類
@Controller
public class UserController{
@Autowired
@Qualifier("myServiceImpl1")
public myService myservice;
@Resource(name = "myServiceImpl2")
public myService myservice2;
@RequestMapping("/findSomeone")
public User findSomeone(@RequestParam("xx") int xx) {
User user = myservice.findSomeone(xx);
return user;
}
}
到此這篇關(guān)于Spring中的@Qualifier注解和@Resource注解區(qū)別解析的文章就介紹到這了,更多相關(guān)@Qualifier和@Resource注解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot實現(xiàn)全局異常處理的方法(住家飯系統(tǒng))
住家飯系統(tǒng)將異常類型分為客戶端異常(ClientException),系統(tǒng)異常(ServiceException),遠(yuǎn)程調(diào)用異常(RemoteException),本文給大家介紹springboot實現(xiàn)全局異常處理的方法,感興趣的朋友一起看看吧2025-05-05
SpringBoot整合MinIO實現(xiàn)文件上傳的方法詳解
一般涉及到文件上傳,基本上都是保存在項目本地,這種方式比較省事,但是安全性不高。所以今天給大伙詳細(xì)介紹一些如何利用MinIO實現(xiàn)文件上傳,感興趣的可以了解一下2022-05-05
Spring學(xué)習(xí)筆記3之消息隊列(rabbitmq)發(fā)送郵件功能
這篇文章主要介紹了Spring學(xué)習(xí)筆記3之消息隊列(rabbitmq)發(fā)送郵件功能的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
java設(shè)置session過期時間的實現(xiàn)方法
這篇文章主要介紹了java設(shè)置session過期時間的實現(xiàn)方法,以實例形式詳細(xì)講述了具體實現(xiàn)過程,非常具有參考借鑒價值,需要的朋友可以參考下2014-10-10

