我有一個類型爲FooProcess
(接口)[空對象]的對象'Foo Action'。 我想初始化'Foo Action'作爲FooProcess
的一個子類的對象[FooOne
或FooTwo
]。如何使用Spring Framework從類路徑/名稱創建對象?
使用Spring Framework,我能夠創造ArrayList
FooList
(中FooProcess
子類的名稱列表),現在我想初始化FooAction
的一個子類。 (給定參數selected
定義,我希望它作爲初始化哪個類)
的FooProcess
所有子類都具有接受String
構造。
我的問題特別是在這條線
FooAction = component.getClass().getConstructor(f);
完整的方法:
public FooProcess Load(String selected, String f) throws ClassCastException, InstantiationException, IllegalAccessException, ClassNotFoundException{
ArrayList<String> FooList = new ArrayList<String>();
final ClassPathScanningCandidateComponentProvider provider = new ClassPathScanningCandidateComponentProvider(true);
provider.addIncludeFilter(new AssignableTypeFilter(FooProcess.class));
for (BeanDefinition component : provider.findCandidateComponents("org.project.foomodule.systems")) {
if(selected == component.getBeanClassName()){
FooAction = component.getClass().getConstructor(f);
} }
return FooAction;
}
這是什麼問題? – skaffman 2012-01-15 12:56:57
爲什麼不使用Spring Bean Factory來實例化對象並注入依賴關係? – duffymo 2012-01-15 12:58:30
@skaffman我在帖子中暗示的'問題'並不能滿足我需要,而且IDE說它在語法上是錯誤的。 – JD009 2012-01-15 12:58:56