最佳答案
我使用的是带注释的 SpringBeans,并且需要在运行时选择不同的实现。
@Service
public class MyService {
public void test(){...}
}
例如,对于 windows 平台,我需要 MyServiceWin extending MyService
,对于 linux 平台,我需要 MyServiceLnx extending MyService
。
目前我只知道一个可怕的解决办法:
@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 配置。