SpringBoot启动流程深入分析
文章目录
- 背景
- 启动流程
- listeners.starting
- 先获取运行监听器
- 获取SpringApplicationRunListener的实例
- 监听器接口
- 从spring.factories中加载数据,这里有本地缓存
- 监听启动
- 发布starting事件
- prepareEnvironment
- 准备环境
- 获取或创建环境
- 配置环境
- createApplicationContext
- 创建上下文
- prepareContext
- 将环境注入上下文
- 应用上下文后置处理
- 添加初始化器
- 初始化上下文
背景
- springboot作为java服务的基座,有很多扩展点和值得学习的设计。接下来我们以应用事件为条线来分析服务启动流程。
- 以下源码分析基于spring-boot-3.1.5。
启动流程
listeners.starting
先获取运行监听器
获取SpringApplicationRunListener的实例
监听器接口
从spring.factories中加载数据,这里有本地缓存
监听启动
发布starting事件
prepareEnvironment
准备环境
获取或创建环境