2012-02-06 97 views
0

我可以使用工厂bean在Spring中创建另一个bean。是否有可能通过将另一个豆交给另一个豆来处置(销毁)它?在春季处理工厂模式?

富勒例如我有Database豆用作工厂Corpus豆:

<bean id="Corpus" name="Corpus" factory-bean="Database" 
    factory-method="loadCorpus"> 
</bean> 

loadCorpus,数据库服务器从读取数据并将其作为一个语料库对象。

现在我想在语料库内部进行一些更改,并在程序生命周期结束时将其放回数据库。

在处理“处置”语料库的过程中,通过将其归还给数据库进行处理,这是合乎逻辑的。

但我看不到配置选项。虽然可以使用bean和方法来设置创建,但只有使用方法才能破坏。

那么如何实现我的目标呢?

回答

1

使您的数据库bean保留对其创建的语料库实例的引用,并使其成为disposable。这样,当容器停止时,将调用Database bean的destroy方法,并且它可以保留对其创建的语料库实例所做的所有更改。