Spring?中的?Service?有多個實現(xiàn)類如何注入(多種方式)
我這里指示三種方式:
一、Controller中注入service的時候使用@Autowired自動注入,@Qualifier("實現(xiàn)類名首字母小寫")
來注入。
// 接口 public interface XxxxService { public String xxxx(); } // 實現(xiàn)類用 @Service public class XxxxServiceImpl implements XxxxService { @Override public String xxxx() { // 具體處理邏輯 return "xxxx"; } } @Service public class YyyyServiceImpl implements XxxxService { @Override public String yyyy() { // 具體處理邏輯 return "yyyy"; } } // Controller 中注入service 根據(jù)beanId(類名首字母小寫) -> xxxxServiceImpl @Autowired @Qualifier("xxxxServiceImpl") private XxxxService xxxxService;
二、Controller中注入service的時候使用@Resource(type = 類名.class)
來注入。
// 接口 public interface XxxxService { public String xxxx(); } // 實現(xiàn)類用 @Service public class XxxxServiceImpl implements XxxxService { @Override public String xxxx() { // 具體處理邏輯 return "xxxx"; } } @Service public class YyyyServiceImpl implements XxxxService { @Override public String yyyy() { // 具體處理邏輯 return "yyyy"; } } // Controller 中注入service @Resource(type = XxxxServiceImpl.class) private XxxxService xxxxService;
三、每個service的impl使用 @Service(“名稱”)指定名稱,Controller中注入service的時候使用@Resource(name="名稱")注入。
// 接口 public interface XxxxService { public String xxxx(); } // 實現(xiàn)類用 @Service("xxxxService") public class XxxxServiceImpl implements XxxxService { @Override public String xxxx() { // 具體處理邏輯 return "xxxx"; } } @Service("yyyyService") public class YyyyServiceImpl implements XxxxService { @Override public String yyyy() { // 具體處理邏輯 return "yyyy"; } } // Controller 中注入service 根據(jù)beanId(@Service括號中的字符串) -> xxxxService @Resource(name="xxxxService") private XxxxService xxxxService;
到此這篇關(guān)于Spring 中的 Service 有多個實現(xiàn)類如何注入的文章就介紹到這了,更多相關(guān)Spring Service多個實現(xiàn)類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java maven三種倉庫,本地倉庫,私服,中央倉庫的配置
今天給大家簡單介紹Maven三種倉庫的配置,文中有非常詳細的解釋,對Java初學(xué)者很有幫助喲,需要的朋友可以參考下,希望能夠給你帶來幫助2021-09-09Activiti工作流學(xué)習(xí)筆記之自動生成28張數(shù)據(jù)庫表的底層原理解析
這篇文章主要介紹了Activiti工作流學(xué)習(xí)筆記之自動生成28張數(shù)據(jù)庫表的底層原理解析,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03SpringBoot監(jiān)聽Nacos動態(tài)修改日志級別的操作方法
線上系統(tǒng)的日志級別一般都是 INFO 級別,有時候需要查看 WARN 級別的日志,所以需要動態(tài)修改日志級別,微服務(wù)項目中使用 Nacos 作為注冊中心,我們可以監(jiān)聽 Nacos 配置,修改日志級別,這篇文章主要介紹了SpringBoot監(jiān)聽Nacos動態(tài)修改日志級別的操作方法,需要的朋友可以參考下2023-12-12Java Kafka實現(xiàn)優(yōu)先級隊列的示例詳解
在分布式系統(tǒng)中,消息隊列是一種常見的異步通信機制,而優(yōu)先級隊列則是消息隊列的一種特殊形式,下面我們來看看如何利用Kafka實現(xiàn)優(yōu)先級隊列吧2025-03-03MyBatis-Plus中Service接口的lambdaUpdate用法及實例分析
本文將詳細講解MyBatis-Plus中的lambdaUpdate用法,并提供豐富的案例來幫助讀者更好地理解和應(yīng)用該特性,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03