我想将FactoryBeans和示波器一起使用。具体来说,我希望由FactoryBean创建并返回的对象被放置到指定的(可能是自定义的)作用域中。问题是,这样做的以下内容:在的FactoryBean本身被作用域Spring FactoryBean和示波器一起工作
<bean class="x.y.z.TestFactoryBean" scope="test" />
结果,并具有由工厂创建的对象上有些不可预知的行为。我明白这是为什么;工厂本身就是一流的春季管理的豆类,并拥有自己的生命周期。但是,我无法找到一种方法来指定从工厂返回的对象本身应该被作用域。
在另一方面,这不正是我想要的(只要TestFactoryBean没有实现FactoryBean接口):
<bean class="x.y.z.TestFactoryBean" name="testFactory">
<bean class="x.y.z.TestBean" factory-bean="testFactory"
factory-method="getObject" scope="test" />
所以真正的问题是,如何才能让春天的行为像它对于上面的第二个例子,但使用真正的FactoryBeans?
你可以在春季自定义几乎所有的东西,所以我猜它有可能以某种方式,但它可能会涉及到一些非常深的挖掘(使用自定义应用程序上下文)或类似的东西。但我在这里猜测 – 2010-05-17 19:42:54
我同意并更新了我的答案。 – Espen 2010-05-25 19:01:30