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括號中的字符串) -> 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot整合swagger3和knife4j的詳細(xì)過程
knife4j的前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一樣小巧,輕量,并且功能強(qiáng)悍,下面這篇文章主要介紹了springboot整合swagger3和knife4j的詳細(xì)過程,需要的朋友可以參考下2022-11-11
基于SpringBoot實(shí)現(xiàn)圖片滑動(dòng)驗(yàn)證碼功能
本文詳細(xì)講解如何在Spring Boot項(xiàng)目中實(shí)現(xiàn)圖片滑動(dòng)驗(yàn)證碼功能,從原理闡述到完整代碼實(shí)現(xiàn),幫助開發(fā)者快速掌握這一實(shí)用的安全驗(yàn)證技術(shù),需要的朋友可以參考下2026-02-02
JVM(Java?Virtual?Machine,Java虛擬機(jī))的作用詳解
JVM是Java語言實(shí)現(xiàn)“一次編寫,到處運(yùn)行”特性的基石,也是Java平臺(tái)的核心組成部分,其主要作用包括平臺(tái)無關(guān)性、內(nèi)存管理、運(yùn)行Java程序、安全性以及性能優(yōu)化,通過這些功能,JVM確保了Java程序的可移植性、高效性和安全性2025-03-03
SpringBoot獲取配置文件中的配置項(xiàng)的常用方式
這篇文章主要介紹了SpringBoot獲取配置文件中的配置項(xiàng)的常用方式,并通過代碼示例講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-11-11
解決Spring Cloud Gateway獲取body內(nèi)容,不影響GET請求的操作
這篇文章主要介紹了解決Spring Cloud Gateway獲取body內(nèi)容,不影響GET請求的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12

