FactoryBean可用於以編程方式創建可能需要複雜實例化邏輯的對象。如何獲取由FactoryBean spring創建的bean管理?
然而,似乎由FactoryBean
創建豆子不會成爲春季管理。這個解釋是否正確?如果是這樣,有沒有什麼好的解決方法?包含一個簡短的代碼示例來說明我的問題。
的ApplicationContext:
<bean id="searcher" class="some.package.SearcherFactory" />
<bean id="service" class="some.package.Service" />
工廠實現:通過工廠創建
public class SearcherFactory implements FactoryBean<Searcher> {
@Override
public Searcher getObject() throws Exception {
return new Searcher(); // not so complex after all ;)
}
@Override
public Class<Searcher> getObjectType() {
return Searcher.class;
}
....
}
類:
public class Searcher() {
private Service service;
@Autowired
public void setService(Service service) {
// never invoked
this.service=service;
}
}
+1。我剛剛開始使用基於註釋的配置來處理這些類型的場景。 – Fil 2011-02-11 16:54:38
那麼,你會如何解決作者的問題?你能用適當的java配置更新答案嗎? – 2015-01-07 01:16:38