Spring核心组件—01—容器启动流程概览

整体流程

总的来说,分为 12 个大步骤。本文只是概览。后续文章会对这个 12 个步骤进行详解。

spring-容器初始化流程

下文都是对上图中 12 个关键步骤的大体说明,由于篇幅原因,每个步骤的详情会在后续的文章中逐一说明。

1.prepareRefresh()

准备工作。

2.obtainFreshBeanFactory()

获取 BeanFactory 的实例。

默认是 new 了一个 DefaultListableBeanFactory。并返回 DefaultListableBeanFactory

3.prepareBeanFactory()

提前注册一些基础设施组件。

值得注意的是 ApplicationContextAwareProcessor、ApplicationListenerDetector、Environment 都是在这里注册的。

4.postProcessBeanFactory

留给子类的空方法。

到了这里,BeanFactory 的创建工作(标准初始化)就完成了。

5.invokeBeanFactoryPostProcessors

6.registerBeanPostProcessors

注册各种 BeanPostProcessor

7.initMessageSource

初始化 MessageSourcei18n 相关的基础组件。

8.initApplicationEventMulticaster

初始化事件派发器(ApplicationEventMulticaster)

9.onRefresh

留给子类的空方法

10.registerListeners

11.finishBeanFactoryInitialization

这部分的内容比较多: 单例 Bean 的初始化流程,涉及到Bean 的生命周期方法和 spring 提供的扩展组件的回调时机。后续会有单独文章来介绍这部分内容。

12.finishRefresh

展开阅读全文

页面更新:2024-04-24

标签:容器   组件   流程   子类   初始化   实例   步骤   核心   事件   方法   文章

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top