1. 程式人生 > >Spring Bean生命週期

Spring Bean生命週期

spring bean的生命週期

spring bean生命週期

1、Spring對bean進行例項化;

2、Spring將值和bean的引用注入到bean對應的屬性中;

3、如果bean實現了BeanNameAware介面,Spring將bean的ID傳遞給setBeanName()方法;

4、如果bean實現了BeanFactoryAware介面,Spring將呼叫setBeanFactory()方法,將BeanFactory容器例項傳入;

5、如果bean實現了ApplicationContextAware介面,Spring將呼叫setApplicationContext()方法,將bean所在的應用上下文的引用類傳入進來;

6、如果bean實現了BeanPostProcessor介面,Spring將呼叫它們的postProcessorBeforeInitialization()方法;

7、如果bean實現了InitializingBean介面,Spring將呼叫它們的afterPropertiesSet()方法。類似的,如果bean使用init-method聲明瞭初始化方法,該方法也會被呼叫;

8、如果bean實現了BeanPostProcessor介面,Spring將呼叫它們的postProcessAfterInitialization()方法;

9、此時,bean已經準備就緒,可以被應用程式使用了,它們將一直駐留在應用上下文中,直到該應用上下文被銷燬;

10、如果bean實現了DIsposableBean介面,Spring將呼叫它的destroy()介面方法。同樣,如果bean實現了destroy-method聲明瞭銷燬方法,該方法也會被呼叫。