spring的IoC容器的執行流程
spring的IoC容器的執行流程
- 應用程序的啟動 main()
- 創建IoC容器的代表
- 解析xml文件(可以為任意的名字,spring默認推薦為applicationContext.xml)
- 通過BeanFactoryPostProcessor來修改bean
- 初始化所有的singleten bean
- constructor注入
- setter注入
- BeanPostProcessor befor方法
- init-method
- BeanPostProcessor after方法
- 返回bean實例
- 返回BeanFactory實例
- 獲取bean實例,getBean(".......");
- 如果是BeanFactory直接實現類或者非singleten bean或者lazy-init="true"都在做getBean的時候才初始化
- 實際的業務邏輯……
- 銷毀
- 如果是XmlBeanFactory時用destroysingletens()來銷毀 是延遲加載
- 如果是AbstractApplicationContext時用close();來銷毀 不延遲加載 配置destroy-method
- 結束應用程序
My Java study notes.