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-07java 基礎(chǔ)之final、finally和finalize的區(qū)別
這篇文章主要介紹了java 基礎(chǔ)之final、finally和finalize的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-05-05IntelliJ 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-01springmvc+spring+mybatis實現(xiàn)用戶登錄功能(下)
這篇文章主要為大家詳細介紹了springmvc+spring+mybatis實現(xiàn)用戶登錄功能的第二篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07java?stream?distinct()如何按一個或多個指定對象字段進行去重
這篇文章主要介紹了java?stream?distinct()如何按一個或多個指定對象字段進行去重問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12