1. 程式人生 > >Spring IOC -bean物件的生命週期詳解

Spring IOC -bean物件的生命週期詳解

生命週期執行的過程如下:
1)spring對bean進行例項化,預設bean是單例
2)spring對bean進行依賴注入
3)如果bean實現了BeanNameAware介面,spring將bean的id傳給setBeanName()方法
4)如果bean實現了BeanFactoryAware介面,spring將呼叫setBeanFactory方法,將BeanFactory例項傳進來
5)如果bean實現了ApplicationContextAware()介面,spring將呼叫setApplicationContext()方法將應用上下文的引用傳入
6) 如果bean實現了BeanPostProcessor介面,spring將呼叫它們的postProcessBeforeInitialization介面方法
7) 如果bean實現了InitializingBean介面,spring將呼叫它們的afterPropertiesSet介面方法,類似的如果bean使用了init-method屬性聲明瞭初始化方法,改方法也會被呼叫
8)如果bean實現了BeanPostProcessor介面,spring將呼叫它們的postProcessAfterInitialization介面方法
9)此時bean已經準備就緒,可以被應用程式使用了,他們將一直駐留在應用上下文中,直到該應用上下文被銷燬
10)若bean實現了DisposableBean介面,spring將呼叫它的distroy()介面方法。同樣的,如果bean使用了destroy-method屬性聲明瞭銷燬方法,則該方法被呼叫