直接在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 出来的。