刷题总结|面试考点(二)——Spring boot启动流程

引言

对于Java语言中最流行的项目脚手架SpringBoot,我们可以说是非常熟悉的使用了。但是当面试官问到它的启动流程时,我们就会感到无比尴尬。本篇博客大致梳理了SpringBoot启动流程,希望能够有帮助。
启动流程 启动流程的过程图如下:
刷题总结|面试考点(二)——Spring boot启动流程
文章图片

具体介绍
1、每一个SpringBoot程序都有一个主入口,这个主入口就是main方法,而main方法中都会调用SpringBootApplication.run方法
查看SpringBootApplication.run方法的源码就可以发现SpringBoot启动的流程主要分为两大阶段:
1)初始SpringApplication
2)运行SpringApplication
初始SpringApplication
SpringApplication的初始化,主要是配置基本的环境变量、资源、构造器、监听器。初始化阶段的主要作用是为运行SpringApplication实例对象启动环境变量准备以及进行必要的资源构造器的初始化动作。
运行SpringApplication
1)SpringApplicationRunListeners 引用启动监控模块
2)ConfigrableEnvironment 配置环境模块和监听:包括创建配置环境、加载属性配置文件和配置监听
3)ConfigrableApplicationContext 配置应用上下文:包括配置应用上下文对象、配置基本属性和刷新应用上下文
附:参考资料
【刷题总结|面试考点(二)——Spring boot启动流程】1、详解面试官经常问的SpringBoot启动流程机制
2、SPRINGBOOT启动流程及其原理

    推荐阅读