直接在idea里运行SpringBoot程序时,内嵌的tomcat容器会调用TomcatStarter这个类的onStartup方法。TomcatStarter继承自ServletContainerInitializer
其onStartup方法会调用ServletContextInitializer(不是ServletContainerInitializer)的onStartup方法.
TomcatStarter对应spring mvc的SpringServletContainerInitializer
SpringContextInitializer对应spring mvc的WebApplicationInitializer.
SpringServletContainerInitializer的onStartup方法是由容器自动调用的。
TomcatStarter是由Spring boot内部new 出来的。