1 问题来源
- Spring 一个分层的 JavaSE/EE 一栈式轻量级开源框架
- Springboot 设计目的是用来简化新 Spring 应用的初始搭建以及开发过程
- 熟悉
Springboot
整体的启动流程,可以快速定位项目出错的原因,并能够更好的对项目做一些扩展
2 源码分析
- Springboot 2.1.1.RELEASE 源码
- springboot 项目的入口是 main 函数
public static void main(String[] args) {
SpringApplication.run(SpringBootDependsApplication.class, args);
}
public static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args) {
return (new SpringApplication(primarySources)).run(args);
}
2.1 初始化 SpringApplication 实例时,设置的一些属性
- 初始化 SpringApplication 实例时,会设置一些默认的属性
- 获取并创建 ApplicationContextInitializer
- 获取并创建 ApplicationListener
public SpringApplication(ResourceLoader resourceLoader, Class... primarySources) {
this