可以簡述為以下九步:
實例化bean對象(通過構造方法或者工廠方法)
設置對象屬性(setter等)(依賴注入)
如果Bean實現了BeanNameAware接口,工廠調用Bean的setBeanName()方法傳遞Bean的ID。(和下面的一條均屬於檢查Aware接口)
如果Bean實現了BeanFactoryAware接口,工廠調用setBeanFactory()方法傳入工廠自身
將Bean實例傳遞給Bean的前置處理器的postProcessBeforeInitialization(Object bean, String beanname)方法
調用Bean的初始化方法
將Bean實例傳遞給Bean的后置處理器的postProcessAfterInitialization(Object bean, String beanname)方法
使用Bean
容器關閉之前,調用Bean的銷毀方法
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------