我有一个控制器,可以调用这样的接口:
class controllerA{
@Autowired
public iService interfaceService;
public void methodController(){
String param1 = new String("example1");
String param2 = new String("example2");
this.interfaceService.getServiceA().methodA(param1,param2);
}
}
好吧,我的界面是:
public interface iService {
Class<T> getServiceA();
}
实施:
public class iServiceImpl implements iService {
@Autowired
private ApplicationContext appContext;
public class<T> getServiceA(){
return appContext.getType("serviceA").cast(appContext.getBean("serviceA"));
}
}
applicationContext-service.xml(1):(已修复)
<bean id="iServiceFacade" class="service.facade.iServiceImpl"/>
<bean id="serviceA" class="service.postgres.ServiceA"/>
applicationContext-service.xml(2)改变了这个:
<bean id="serviceA" class="service.oracle.ServiceA"/>
这些xml在编译时使用maven配置文件进行更改。
我的问题是,无法在控制器上调用serviceA.methodA(param1,param2),并且我使用不同的配置进行探测。
上下文正确地注入了bean,但是我如何调用控制器上的服务方法?
在serviceA上实现的接口其他接口上无法返回,因为该服务具有静态方法...
谢谢!