创建
①启动:创建SpringApplication对象(保存主类,判断是否web应用,从spring.factories找所有AppliCationContextInitializer保存,找所有的ApplicationListener保存,从配置类中找到有main方法的主配置类)→run
②事件监听:ApplicationContextInitializer,SpringApplicationRunListener,ApplicationRunner,CommandLineRunner
starter
①启动器(starter):空jar文件,仅提供辅助性依赖管理,用于自动配置
②官方命名空间为前缀:spring-boot-starte-模块名;自定义用后缀:模块-spring-boot-starter。
③自定义启动器参考WebMvcAutoConfiguration,需要定义两个,一个是自动配置,一个是启动器(只引入自动配置)。