跳至主要內容

Spring Boot整体运行流程

向往小于 1 分钟Spring BootSpring Boot

概述

SpringBoot启动的入口是SpringApplication.run(XXX.class, args);,从传统的SSM的工程到SpringBoot启动做了大量配置的简化,本文从整体角度上分析SpringBoot的启动流程,具体细节可参考本章的其他文档。

启动流程

SpringBoot.drawio

如上图所示,主要流程可分为框架初始化和框架启动两个阶段,框架初始化主要通过SpringFactoriesLoader这个类实现了检索META-INF/spring.factories文件,并获取系统初始化器和系统监听器列表。框架启动做了很多的操作,可重点关注准备上下文、刷新上下文,准备上下文执行初始化器的初始化方法和相关资源加载,刷新上下文阶段会实例化bean。