我有下一个问题,我有一个SPRING应用程序,配置xml(没有Spring),这个文档有我要在app中实现的类的名称(让我们说com.stack.impl.MyClass)和这个classs实现我的接口(让我们说MyInterface) 因此,当发生某些事情时,我想以实际的方式调用实现,如下所示:
String myClass=xml.getProperty(id);
MyInterface myInterface=ctx.getBean(myClass);
myInterface.execute();
任何消化?谢谢和问候
答案 0 :(得分:0)
我使用这种方法,非常感谢你的帮助@duffymo和@jjhavokk,希望你从其他人那里得到同样的帮助:
public AnnotationConfigApplicationContext init(){
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
try {
Class<DataPreProcessor> c= (Class<DataPreProcessor>) Class.forName("com.banamex.middleware.commons.DataPrepProcesorTest");
Class<DataPreProcessor> c2= (Class<DataPreProcessor>) Class.forName("com.banamex.middleware.commons.DataPrepProcesorTest2");
DataPreProcessor dp=c.newInstance();
DataPreProcessor dp2=c2.newInstance();
context.getBeanFactory().registerSingleton("c", dp);
context.refresh();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return context;
}