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