Spring初始化的整個過程
阿新 • • 發佈:2018-12-30
文字描述spring初始化的過程
1、spring對bean進行例項化
2、spring將值和bean的引用注入進Bean對應的屬性
3、如果Bean實現了BeanNameAware介面,spring將Bean的ID傳遞給setBeanName介面方法,將BeanFactory容器例項傳入。
4、如果Bean實現了BeanFactoryAware介面,spring將呼叫setBeanFactory()介面方法,將BeanFactory容器例項傳入
5、如果Bean實現了ApplicationContextAware介面,spring將呼叫setApplicationContext()介面方法,將應用上下文的引用傳入。
6、如果Bean實現了BeanPostProcessor介面,Spring將呼叫它們的postProcessBeforeInitzation()介面方法。
7、如果Bean實現了InitializingBean介面,Spring將呼叫它們的afterPropertiesSet()介面方法,類似的,如果Bean使用Init-method宣告初始化方法,該方法也會被呼叫
8、如果Bean實現了BeanPostProcessor介面,Spring將呼叫它們的postPoressAfterInitialization()方法。
9、此時此刻,Bean已經準備就緒,可以被應用程式使用了,它們將一直駐留在應用上下文中,直到應用上下文被銷燬。
10、如果Bean實現了DisposableBean介面,Spring將呼叫他的destroy()介面方法,同樣,如果Bean使用destroy-method宣告銷燬方法,該方法也會被呼叫