Spring?中的?Service?有多個(gè)實(shí)現(xiàn)類如何注入(多種方式)
我這里指示三種方式:
一、Controller中注入service的時(shí)候使用@Autowired自動(dòng)注入,@Qualifier("實(shí)現(xiàn)類名首字母小寫(xiě)")來(lái)注入。
// 接口
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(類名首字母小寫(xiě)) -> xxxxServiceImpl
@Autowired
@Qualifier("xxxxServiceImpl")
private XxxxService xxxxService; 二、Controller中注入service的時(shí)候使用@Resource(type = 類名.class)來(lái)注入。
// 接口
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三種倉(cāng)庫(kù),本地倉(cāng)庫(kù),私服,中央倉(cāng)庫(kù)的配置
今天給大家簡(jiǎn)單介紹Maven三種倉(cāng)庫(kù)的配置,文中有非常詳細(xì)的解釋,對(duì)Java初學(xué)者很有幫助喲,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助2021-09-09
SpringBoot為啥不用配置啟動(dòng)類的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot為啥不用配置啟動(dòng)類的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
Java中用爬蟲(chóng)進(jìn)行解析的實(shí)例方法
在本篇文章里小編給大家整理的是一篇關(guān)于Java中用爬蟲(chóng)進(jìn)行解析的實(shí)例方法,有需要的朋友們可以學(xué)習(xí)參考下。2020-12-12
Activiti工作流學(xué)習(xí)筆記之自動(dòng)生成28張數(shù)據(jù)庫(kù)表的底層原理解析
這篇文章主要介紹了Activiti工作流學(xué)習(xí)筆記之自動(dòng)生成28張數(shù)據(jù)庫(kù)表的底層原理解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
SpringBoot監(jiān)聽(tīng)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)聽(tīng) Nacos 配置,修改日志級(jí)別,這篇文章主要介紹了SpringBoot監(jiān)聽(tīng)Nacos動(dòng)態(tài)修改日志級(jí)別的操作方法,需要的朋友可以參考下2023-12-12
Java Kafka實(shí)現(xiàn)優(yōu)先級(jí)隊(duì)列的示例詳解
在分布式系統(tǒng)中,消息隊(duì)列是一種常見(jiàn)的異步通信機(jī)制,而優(yōu)先級(jí)隊(duì)列則是消息隊(duì)列的一種特殊形式,下面我們來(lái)看看如何利用Kafka實(shí)現(xiàn)優(yōu)先級(jí)隊(duì)列吧2025-03-03
MyBatis-Plus中Service接口的lambdaUpdate用法及實(shí)例分析
本文將詳細(xì)講解MyBatis-Plus中的lambdaUpdate用法,并提供豐富的案例來(lái)幫助讀者更好地理解和應(yīng)用該特性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03

