Spring Boot 如何初始化内置Tomcat容器的?
1. spring.factories文件
首先当Springboot启动的时候SpringApplication对象,在这里面会加载所有的spring.factories文件,所有配置类的命名空间保存起来,等到需要使用的时候进行实例化。其中这里面就包括配置Tomcat的配置类。ServletWebServerFactoryAutoConfiguration
2. 获取ServletWebServerFactory
当Springboot判断你要启动web项目是,会创建一个ServletWebServerApplicationContext作为Spring的上下文,在这个对面的refreh()方法里面会获取ServletWebServerFactory用来创建一个web容器。
这里会通过getWebServerFactory()去创建一个工厂,然后通过工厂去获取一个web容器