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)文章
springboot整合swagger3和knife4j的詳細(xì)過程
knife4j的前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一樣小巧,輕量,并且功能強(qiáng)悍,下面這篇文章主要介紹了springboot整合swagger3和knife4j的詳細(xì)過程,需要的朋友可以參考下2022-11-11
JVM(Java?Virtual?Machine,Java虛擬機(jī))的作用詳解
JVM是Java語言實現(xiàn)“一次編寫,到處運行”特性的基石,也是Java平臺的核心組成部分,其主要作用包括平臺無關(guān)性、內(nèi)存管理、運行Java程序、安全性以及性能優(yōu)化,通過這些功能,JVM確保了Java程序的可移植性、高效性和安全性2025-03-03
解決Spring Cloud Gateway獲取body內(nèi)容,不影響GET請求的操作
這篇文章主要介紹了解決Spring Cloud Gateway獲取body內(nèi)容,不影響GET請求的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12

