FactoryBean может использоваться для программного создания объектов, которые могут потребовать сложной логики создания экземпляров.
Однако похоже, что bean-компоненты , созданные с помощью FactoryBean
, не становятся управляемыми с помощью Spring. Эта интерпретация верна? Если да, есть ли хорошие обходные пути? Пример краткого кода прилагается, чтобы проиллюстрировать мою проблему.
ApplicationContext:
Заводская реализация:
public class SearcherFactory implements FactoryBean {
@Override
public Searcher getObject() throws Exception {
return new Searcher(); // not so complex after all ;)
}
@Override
public Class getObjectType() {
return Searcher.class;
}
....
}
Класс, созданный фабрикой:
public class Searcher() {
private Service service;
@Autowired
public void setService(Service service) {
// never invoked
this.service=service;
}
}