在春天处理工厂模式?

时间:2012-02-06 17:55:58

标签: spring design-patterns javabeans destroy

我可以使用工厂bean在Spring中创建另一个bean。是否也可以通过将豆子送到另一个豆子来处置(销毁)?

前例我有Database bean作为Corpus bean的工厂:

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

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

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

在“处理”语料库bean的过程中通过将其返回到数据库进行处理来实现这一点是合乎逻辑的。

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

如何达到我的目标呢?

1 个答案:

答案 0 :(得分:1)

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