1、SpringBoot启动流程

SpringBoot启动流程主要分为两大步骤:

第一步:构造一个SpringApplication的实例,完成初始化的工作。初始化的时候会做以下两件事:

(1)创建并初始化ApplicationInitializer,设置到initializers属性中 。
(2)创建并初始化ApplicationListener,设置到listeners属性中 。

第二步:SpringApplication构造完成之后调用run方法,启动SpringApplication。run方法执行的时候会做以下几件事:

(1)创建并初始化计时器StopWatch,用来记录SpringBoot的启动时间 。
(2)创建并初始化监听器SpringApplicationRunListeners,并启动监听,用于监听run方法的执行。
(3)创建并初始化ApplicationArguments,获取run方法传递的args参数。
(4)创建并初始化环境配置ConfigurableEnvironment。封装main方法的参数,写入到 Environment中,发布 ApplicationEnvironmentPreparedEvent(环境事件)。
(5)创建应用程序上下文ApplicationContextApplicationContext是Spring中的核心接口和容器,允许容器通过应用程序上下文环境创建、获取、管理bean

2、SpringBoot启动代码

每个SpringBoot程序都有一个主入口,也就是main方法,main方法里面调用SpringApplication.run()启动整个SpringBoot程序,该方法所在类需要使用@SpringBootApplication注解,如下代码所示:

import org.springframework.boot.SpringApplication;//启动类
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication //启动过程中必须需要的注解
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);//启动类静态run方法
    } 
}

标签: none

添加新评论