1 new SpringApplication
从spring.factories 读取 listener和applicationContextInitializer,这两种接口主要是为了外部扩展
保存当前的启动类,也就是用户自己写的@SpringBootApplication所在的类,作为启动类
2 运行run方法
3 读取环境变量,配置文件
4 创建application ServletWebServerApplicationContext,也可能是其子类 这个是根据应用类型来的
5 IOC部分加载 (老spring部分)
6 onRefresh (启动tomcat)
7 把springmvc 的dispatchservlet注册到tomcat