SpringBoot同一接口多個實現(xiàn)類配置的實例詳解
SpringBoot項目中可能出現(xiàn)一個接口有多個實現(xiàn)類的情況,如果不進行配置,注入接口時編譯器不知道要注入哪個實現(xiàn)類就會報錯,因此需要進行配置。以下進行舉例:
接口如下:
public interface NoticeService {
public String noticeUser(Long id);
}
兩個實現(xiàn)類如下:
@Service
public class NoticeServiceImpl1 implements NoticeService {
public String noticeUser(Long id){
return noticeServe1(id);
}
}
@Service
public class NoticeServiceImpl2 implements NoticeService {
public String noticeUser(Long id){
return noticeServe2(id);
}
}
Controller如下:
@Controller
@RequestMapping("notice")
public class NoticeController{
@Autowired
NoticeService noticeService;
}
這樣直接啟動后就會報錯,需要在添加@Qualifier注解:
@Controller
@RequestMapping("notice")
public class NoticeController{
@Autowired
@Qualifier("impl1")
NoticeService noticeService;
}
需要調(diào)用的實現(xiàn)類中添加標識:
@Service("impl1")
public class NoticeServiceImpl1 implements NoticeService {
public String noticeUser(Long id){
return noticeServe1(id);
}
}
此時再運行即可
到此這篇關(guān)于SpringBoot同一接口多個實現(xiàn)類配置的文章就介紹到這了,更多相關(guān)springboot多個實現(xiàn)類配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何在SpringBoot項目中集成SpringSecurity進行權(quán)限管理
在本文中,我們將討論如何在Spring?Boot項目中集成權(quán)限管理,我們將使用Spring?Security框架,這是一個專門用于實現(xiàn)安全性功能的框架,包括認證和授權(quán),需要的朋友可以參考下2023-07-07
java 基礎(chǔ)之final、finally和finalize的區(qū)別
這篇文章主要介紹了java 基礎(chǔ)之final、finally和finalize的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-05-05
IntelliJ Idea 2020.1 正式發(fā)布,官方支持中文(必看)
這篇文章主要介紹了IntelliJ Idea 2020.1 正式發(fā)布,官方支持中文了,本文通過截圖的形式給大家展示,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
解決Java字符串JSON轉(zhuǎn)換異常:cn.hutool.json.JSONException:?Mismatched?
這篇文章主要給大家介紹了關(guān)于如何解決Java字符串JSON轉(zhuǎn)換異常:cn.hutool.json.JSONException:?Mismatched?hr?and?body的相關(guān)資料,文中將解決的辦法通過代碼介紹的非常詳細,需要的朋友可以參考下2024-01-01
springmvc+spring+mybatis實現(xiàn)用戶登錄功能(下)
這篇文章主要為大家詳細介紹了springmvc+spring+mybatis實現(xiàn)用戶登錄功能的第二篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
java?stream?distinct()如何按一個或多個指定對象字段進行去重
這篇文章主要介紹了java?stream?distinct()如何按一個或多個指定對象字段進行去重問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12

