我有一个对象被限定为原型,并且构造函数参数值是在运行时确定的。在我看来,我必须使用静态工厂方法来构造这个原型的实例。这是真的吗,我可以在文档中的什么地方找到它说明这个事实?我找不到任何讨论在运行时确定的构造函数值或引用。所有样本在启动时都有明确定义的值。
user4903
问问题
961 次
2 回答
2
基本上需要做的是:
applicationContext.getBean("beanName", new Object[]{arg1, arg2, arg3});
<bean id="beanName" class="my.package.className" scope="prototype">
<constructor-arg index="0" type="java.lang.String" value=""/>
//etc
</bean>
如果您的类在其他方面没有弹簧,并且您不希望 applicationContext 依赖项弄乱它们,那么工厂方法可能是可取的。
您还可以使用方法替换来隔离与弹簧相关的代码。
于 2012-06-27T18:41:26.937 回答
0
签出lookup-method
(4.4.6.1 查找方法注入)。目前它不支持将参数传递给新创建的原型 bean,但这很快就会成为可能。
于 2012-06-27T19:06:23.893 回答