我有一种情况,我想通过工厂对象动态创建一个对象,但需要通过spring上下文创建对象,以允许自动装配依赖项.我知道有很多其他方法可以解决这个问题 – 例如使用服务定位器模式 – 但是如果可能的话我想这样做.
想象一下,我有两个对象:
class OuterObject {
List
我想创建一个工厂,它可以完成以下工作:
class OuterObjectFactory {
private innerObject = new InnerObject();
public OuterObject construct(params){
OuterObject o = new OuterObject();
List
我的spring-context.xml看起来像:
但是,这不起作用.只创建了一个innerObject,我希望它的行为类似于scope =“prototype”.如果我将scope =“prototype”添加到bean定义中:
然后它似乎创建了许多innerObjects,但它们没有正确连线.我的同事认为发现文档here意味着工厂bean只用于初始化bean,但我没有发现那么明显.
如果有人能在这里清理我的理解,我会很感激,甚至可能会建议一种更好的方法来建模工厂模式,而不是我正在做的.
谢谢!