SpringBoot启动流程

SpringBoot启动流程

  • 1. new SpringApplication()
  • 2. run方法

SpringBoot启动,本质是加载各种配置文件信息,然后初始化IOC容器并返回。
debug追踪源码发现SpringBoot启动主要分为两方面:new SpringApplication()、与执行run方法
在这里插入图片描述

1. new SpringApplication()

构造方法创建SpringApplication对象,主要作用:
(1) 判断web应用类型,一般情况下为Servlet类型,该类型会自动启动一个Tomcat服务器。除Servlet类型外还存在响应式类型与null(普通Spring应用)
在这里插入图片描述
(2)从spring.factories配置文件中,加载默认的初始化器(ApplicationContextInitializer)与监听器(ApplicationListener)
在这里插入图片描述
(3)记录当前启动类,为扫描当前包及子包Spring注解。

2. run方法

SpringApplication对象创建完成后会调用run方法。run方法主要完成:
(1)准备Environment对象,封装当前运用环境参数,如环境变量等等
在这里插入图片描述

(2)实例化容器,创建ApplicationContext对象
在这里插入图片描述

(3)为容器设置环境、后置处理器、加载主类对象的Definition
在这里插入图片描述
(4)刷新容器,创建真正的Bean实例
SpringBoot启动流程_第1张图片

你可能感兴趣的:(spring,boot,后端,java)