Spring Bean生命週期
阿新 • • 發佈:2018-12-22
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聲明瞭銷燬方法,該方法也會被呼叫。