1、启动流程
1)创建 springApplication 对象
此对象调用 initialize 方法进行初始化
* 主配置类就是 springboot 工程的主类,run方法传进去的 class 对象
当然可以传多个,最后一个语句就是用来判断哪个是有 main 方法的!
* 若在创建工程时候导入了 web 模块,则判断语句会判断出这是一个 web 应用
* spring.factories 文件在 autoconfigure 包下
* 找到的 initializers 和 listeners 保存了当前 springApplication 类中,用 Array 存储
2)运行 run 方法
有关 IOC 的初始化,涉及到 AbstractApplicationContext 中重点的 refresh 方法
源码分析看这里 ==> click here
2、自动配置原理