一. bean生命周期圖
-?https://javadoop.com/post/spring-ioc
簡述:?
- 通過synchronized加鎖進(jìn)行初始化容器
-? 加載xml以及注解配置掃描bean定義信息到BeanDefinitionRegistry容器中
- 調(diào)用實(shí)現(xiàn)自Aware擴(kuò)展接口的子類對應(yīng)鉤子函數(shù)
- 掃描所有的BeanPostProcessor子類實(shí)現(xiàn), 注冊到容器集合中
- Bean構(gòu)造函數(shù)實(shí)例化
- 解析BeanPostProcessor, 通過動(dòng)態(tài)代理對Bean進(jìn)行增強(qiáng).?
- 對于實(shí)現(xiàn)了InitializingBean, DisposableBean接口的各種Bean進(jìn)行模板方法處理
- Bean初始化完之后, 通過各種EventListener進(jìn)行事件通知.? (監(jiān)聽者完成自己感興趣的事情)
- Bean初始化完成.?
- 容器觸發(fā)銷毀, 則調(diào)用Bean指定的destory鉤子函數(shù)
- 如果容器初始化發(fā)生異常, 對已初始化的部分?jǐn)?shù)據(jù)進(jìn)行清理和銷毀.?
二. 講解生命周期過程中的各個(gè)核心類作用,擴(kuò)展示例
三. 總結(jié)