spring boot 启动源码解析系列一:spring boot 启动概述

SpringBoot 启动类示例:

1
2
3
4
5
6
7
8
9
10
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


public class {

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}

通过 SpringApplication 静态方法 run 执行启动:

1
2
3
public static ConfigurableApplicationContext run(Object source, String... args) {
return run(new Object[]{source}, args);
}

最终调用重载方法:

1
2
3
public static ConfigurableApplicationContext run(Object[] sources, String[] args) {
return (new SpringApplication(sources)).run(args);
}

Spring Boot 启动过程可以概述为两个步骤:

  1. 实例化 SpringApplication
  2. SpringApplication 执行 run 方法