Spring-Web spi机制解析
org.springframework.web.SpringServletContainerInitializer#onStartup
在这里打个断点,查看程序是否会进来
去寻找所有实现了WebApplicationInitializer的类
将符合条件的加入list中,非接口,非抽象,是WebApplicationInitializer类型的,然后排序,回调
先看启动类:tomcat.start(),后就会去调用spring-web里面spi机制
看着核心的8行,就能启动一个mvc项目,主要是初始化一个DispacherServlet,刷新容器等操作,和mvc的流程一样。
初始化后就可以直接访问controller.
第二种方法初始化mvc
org.springframework.web.servlet.support.AbstractDispatcherServletInitializer#registerDispatcherServlet
这里的操作和之前手动注入DispatcherServlet一样。