Bean的初始化和銷燬過程(回調方法)&後置處理

Spring IoC容器對Bean生命週期進行管理的過程:

1)通過構造器或者工廠方法創建Bean實例

2)爲Bean的屬性設置值和對其他Bean的引用

3)調用Bean的初始化回調方法

4)Bean可以使用了

5)當容器關閉時,調用Bean的銷燬回調方法

 

三種回調:

1)實現InitializingBean和DisposableBean這兩個生命週期的接口

在afterPropertiesSet()方法裏實現初始化任務,在destroy()方法裏實現銷燬任務

2)在Bean的聲明裏設置init-method和destroy-method屬性,在這兩個方法裏指定回調方法的名稱

3)給初始化和銷燬的回調方法添加生命週期註解@PostConstruct 和 @PreDestroy,

這兩個註解定義在JSR-250(common annotations for the java platform)裏,接下來,

要在IoC容器裏註冊CommonAnnotationBeanPostProcessor實例來調用這些回調方法

 

——————————————————————————————————————————

Bean後置處理器

Bean後置處理器允許在調用初始化方法前後對Bean進行額外處理。它的主要特點是:它將對IoC容器裏所有的Bean實例逐一進行處理,而不是單獨一個Bean實例。一個典型的例子就是用Bean後置處理器檢查Bean屬性的正確性,或者根據特定的標準更改Bean的屬性。

其基本要求是實現BeanPostProcessor接口,通過PostProcessBeforeInitialization和PostProcessAfterInitialization方法,Bean後置處理器可以再初始化回調方法被調用後的前後對每個Bean進行處理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章