Spring-Web spi机制解析

Spring-Web spi机制解析_第1张图片

 org.springframework.web.SpringServletContainerInitializer#onStartup

在这里打个断点,查看程序是否会进来

可以发现程序进来了:主要spi机制,看看这里做了什么操作?

Spring-Web spi机制解析_第2张图片

 去寻找所有实现了WebApplicationInitializer的类

 
  

Spring-Web spi机制解析_第3张图片

 

将符合条件的加入list中,非接口,非抽象,是WebApplicationInitializer类型的,然后排序,回调

Spring-Web spi机制解析_第4张图片

先看启动类:tomcat.start(),后就会去调用spring-web里面spi机制

Spring-Web spi机制解析_第5张图片

 

 看着核心的8行,就能启动一个mvc项目,主要是初始化一个DispacherServlet,刷新容器等操作,和mvc的流程一样。

Spring-Web spi机制解析_第6张图片

 初始化后就可以直接访问controller.

第二种方法初始化mvc

Spring-Web spi机制解析_第7张图片

 org.springframework.web.servlet.support.AbstractDispatcherServletInitializer#registerDispatcherServlet

这里的操作和之前手动注入DispatcherServlet一样。

Spring-Web spi机制解析_第8张图片

 

你可能感兴趣的:(spring,boot)