我想將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