Spring在运行时选择bean的实现
- 论坛
- Spring在运行时选择bean的实现
14 浏览
Spring在运行时选择bean的实现
我正在使用带注释的Spring Beans,并且我需要在运行时选择不同的实现。
例如,对于Windows平台,我需要一个扩展MyService的MyServiceWin,对于Linux平台,我需要一个扩展MyService的MyServiceLnx。
目前,我只知道一个可怕的解决方案:
@Service
public class MyService {
private MyService impl;
@PostInit
public void init(){
if(windows) impl=new MyServiceWin();
else impl=new MyServiceLnx();
}
public void test(){
impl.test();
}
}
请注意,我只使用注释而不是XML配置。