春天

春豆生命周期

春豆生命周期

Spring bean的現有模式很簡單。當啟動bean時,可能需要執行一些instatement以使其進入可用狀態。此外,當當前不需要bean並將其從隔間中取出時,可能需要進行一些清理。然而,練習的安排發生在bean實例化和刪除之間的幕後。這一部分將隻討論兩種重要的bean生命周期回調技術,它們在bean引入和銷毀時是必需的。

為了描述bean的排列和分解,我們實際上是使用init方法發音並消除策略邊界。init-technique屬性指示在啟動時立即接近bean的策略。此外,destroy方法表示在豆子從隔間中消失之前不久調用的技術。

初始化回調

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。在所有條件相同的情況下,該結構提供了在組件上使用default-init- method和default- destroy-method credit來設計這種情況的適應性。

Baidu
map