Spring bean的現有模式很簡單。當啟動bean時,可能需要執行一些instatement以使其進入可用狀態。此外,當當前不需要bean並將其從隔間中取出時,可能需要進行一些清理。然而,練習的安排發生在bean實例化和刪除之間的幕後。這一部分將隻討論兩種重要的bean生命周期回調技術,它們在bean引入和銷毀時是必需的。
為了描述bean的排列和分解,我們實際上是使用init方法發音
初始化回調
org.springframework.beans.factory.InitializingBean接口決定了一個單獨的技術−
void afterPropertiesSet()拋出異常;
通過這種方式,你可以執行上麵的接口,並且在afterPropertiesSet()技術中應該可以進行instatement工作,如下所示
考慮到基於xml的排列元數據,您可以使用init-method屬性來確定具有無效無爭用簽名的策略的名稱。例如: 以下是類定義:公共類DemoBean{公共void init() {}}
破壞回調
org.springframework.beans.factory.DisposableBean接口指示一個孤立策略−
void destroy()拋出異常;
隨後,你可以執行上麵的接口,完成應該可以在obliterate()策略內完成的工作,如下所示
考慮到基於xml的設置元數據,你可以使用destroy-method屬性來指示具有無效無爭用簽名的策略的名稱。例如: 以下是類定義:公共類DemoBean{公共無效annihilate() {}}
如果您在非web應用程序環境中使用Spring的IoC holder,例如,在豐富的客戶工作區域環境中,您將向JVM注冊一個閉包陷阱。這樣做可以保證不費力地完成閉包,並在單例bean上調用可應用的obliterate技術,目的是交付所有資產。建議不要使用InitializingBean或DisposableBean回調函數,因為XML排列在命名技術方麵提供了很大的適應性。
默認初始化和銷毀方法
假設您有大量的bean,這些bean具有類似的名稱,並且還消除了類似的技術。在這種情況下,您不必在每個bean上聲明init- method和destroy-method。在所有條件相同的情況下,該結構提供了在