如何获取由FactoryBean spring管理创建的bean?
- 论坛
- 如何获取由FactoryBean spring管理创建的bean?
6 浏览
如何获取由FactoryBean spring管理创建的bean?
FactoryBean可以用于以编程方式创建可能需要复杂实例化逻辑的对象。然而,由FactoryBean创建的bean似乎不会成为Spring管理的。这个解释正确吗?如果是这样,有没有什么好的解决办法?下面的代码示例说明了我的问题。
应用程序上下文:
工厂实现:
public class SearcherFactory implements FactoryBean{ @Override public Searcher getObject() throws Exception { return new Searcher(); // 其实并不复杂 ;) } @Override public Class getObjectType() { return Searcher.class; } .... }
工厂创建的类:
public class Searcher() { private Service service; @Autowired public void setService(Service service) { // 从未调用 this.service=service; } }