1. @ServletComponentScan负责扫描@WebServlet,每个Servlet对应一个ServletContextInitializer(接口),对应的实现类是ServletRegistrationBean
    2. SpringApplication.run(Application.class)里面会去创建一个ServletWebServerApplicationContext,最终会调用该类的onRefresh方法
    3. 调用createWebServer方法创建并启动Tomcat
    4. 在创建的Tomcat的过程中会创建一个TomcatStarter,并且在创建TomcatStarter时将ServletContextInitializer传进去,TomcatStarter实现了ServletContainerInitializer接口,该接口是Servlet规范中的接口
    5. 启动Tomcat
    6. 启动Tomcat后,Tomcat会负责调用TomcatStarter中的onStartup方法
    7. 循环调用每个ServletContextInitializer的onStartup方法,并且把servletContext传给ServletContextInitializer
    8. 最终在ServletRegistrationBean中将ServletRegistrationBean对应的Servlet添加到servletContext中