2012-02-06 63 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方法,並且它可以保留對其創建的語料庫實例所做的所有更改。