背景
天天在用spring boot,不了解基础的启动流程是真的说不过去。本wiki将进行启动流程阐述。
启动流程
时序图
通过listener的视角观察启动过程
创建一个spring boot的Hello项目,并且添加一个listener

添加了断点以后,运行,看看效果

这里可以清楚的看到是进行同步传消息,而且把SpringApplication对象也回调回来了。
initializers一共有7个,listeners共12个(最后一个是我们注册的)。

initializers来源于:

listeners来源于

listener一共回调了n个消息,依次为:
- ApplicationStartingEvent
- ApplicationEnvironmentPreparedEvent
- ApplicationContextInitializedEvent
- ApplicationPreparedEvent
- ContextRefreshedEvent
- ApplicationStartedEvent
- ApplicationReadyEvent
- ContextClosedEvent
评价
本wiki都是用的上层概念来进行推测,之后需要深入到每个模块中去,才可以更好的了解其中的过程。
相关文章: