Springboot 3与Java20
我正在寻找最简单的方法来使用不同的实现取决于环境。
我有以下接口:
我的服务
public interface MyService {
boolean send(String fileName, final String userName);
}
字符串
有两个实现:
MyService1Impl
@Service
@Qualifier("myService1Impl")
public class MyService1Impl implements MyService {
型
MyService2Impl
@Service
@Qualifier("myService2Impl")
public class MyService2Impl implements MyService {
型
然后我想使用以下内容:
@Autowired
private @Qualifier("myService1Impl") MyService myService1Impl;
@Autowired
private @Qualifier("myService2Impl") MyService myService2Impl;
// if @Profile("dev") use myService1Impl
// if @Profile("*") use myService2Impl
型
我希望尽可能地保持简单(如果可能的话,不必使用@Cofiguration
)。
1条答案
按热度按时间goucqfw61#
在这种情况下,你不需要
@Qualifier
,只需将它们替换为@Profile("nameOfYourProfile")
:字符串
和
型