SpringBoot启动流程(概括)
Spring boot是Spring家族中的一个全新的框架,它用来简化Spring应用程序的创建和开发过程。
特性
1.自动配置:针对很多Spring应用程序和常见的应用功能,Spring boot能自动提供相关配置;:
2.起步依赖:告诉Spring boot需要什么功能,它就能引入需要的依赖库;
3.Actuator:让你能够深入运行中的Spring Boot应用程序,一探Spring boot程序的内部信息;
4.命令行界面:这是Spring Boot的可选特性,主要针对Groovy语言使用。
启动流程大致分为两步一是对primarySources的准备工作二是运行run步骤
public SpringApplication(Class... primarySources) {
this((ResourceLoader)null, primarySources);
}
这边主要做了以下4个步骤:
- 判断当前应用程序的类型NONE、SERVLET、REACTIVE
- 加载所有的初始化容器
- 加载所有的监听器
- 找到程序运行的主类
方法里面调用的构造方法如下:
public SpringApplication(ResourceLoader resourceLoader, Class... primarySources) {
this.sources = new LinkedHashSet();
this.bannerMode = Mode.CONSOLE;
this.logStartupInfo = true;
this.addCommandLineProperties = true;
this.headless = true;
this.registerShutdownHook = true;
this.additionalProfiles = new HashSet();