1:Bean的建立:
容器尋找Bean的定義資訊並將其例項化。
2:屬性注入:
使用依賴注入,Spring按照Bean定義資訊配置Bean所有屬性
3:BeanNameAware的setBeanName():
如果Bean類有實現org.springframework.beans.BeanNameAware介面,工廠呼叫Bean的setBeanName()方法傳遞Bean的ID。
4:BeanFactoryAware的setBeanFactory():
如果Bean類有實現org.springframework.beans.factory.BeanFactoryAware介面,工廠呼叫setBeanFactory()方法傳入工廠自身。
5:BeanPostProcessors的ProcessBeforeInitialization()
如果有org.springframework.beans.factory.config.BeanPostProcessors和Bean關聯,那麼其postProcessBeforeInitialization()方法將被將被呼叫。
6:initializingBean的afterPropertiesSet():
如果Bean類已實現org.springframework.beans.factory.InitializingBean介面,則執行他的afterProPertiesSet()方法
7:Bean定義檔案中定義init-method:
可以在Bean定義檔案中使用"init-method"屬性設定方法名稱例如:
如果有以上設定的話,則執行到這個階段,就會執行initBean()方法
8:BeanPostProcessors的ProcessaAfterInitialization()
如果有任何的BeanPostProcessors例項與Bean例項關聯,則執行BeanPostProcessors例項的ProcessaAfterInitialization()方法
1:DisposableBean的destroy()
在容器關閉時,如果Bean類有實現org.springframework.beans.factory.DisposableBean介面,則執行他的destroy()方法
2:Bean定義檔案中定義destroy-method
在容器關閉時,可以在Bean定義檔案中使用"destroy-method"屬性設定方法名稱,例如: