暂无个人介绍
原文出处:https://tech.imdada.cn/2015/12/23/springmvc-restful-optimize/
说到SpringMVC,一般都说Spring将请求与方法进行了映射,所以每次请求都能找到对应的方法,这次我想找到代码层面上是如何处理的,而不是泛泛而谈。我们在springmvc启动的时候说到,由于DispatcherServlet 实现了Servlet,因此会默认实现其init( )方法.
这部分应该是SpringMVC的核心,也是我们在平常使用的时候经常会被问到的一个问题,在大学刚接触SpringMVC的时候,经常会看到下面这样的流转图 简单的说一下,就是每一个请求过来的时候,都是由DispatcherServlet进行转发,那么它的第一步就是用过映射处理器(BeanNameUrlHandlerMapping)找到对应的实体类(Controller类),然后再拿这个实体类和每个Adapter进行适配。
上一篇章主要总结了SpringMVC在启动的时候,会去构造webApplicationContext对象,并且将该对象放入到ServletContext中,在web的整个生命周期中使用。在分析Spring MVC最重要的一个类DispatcherServlet的时候,在其父类初始化的时候,发现了webApplicationContext的初始化的方法,因此在这边总结一下。
我们在使用SpringMVC的时候,做的第一件事情是配置**ContextLoaderListener**的监听器,这个监听器的作用,就是启动web容器的时候,自动装配ApplicationContext的配置信息,因为ContextLoaderListener实现了ServletContextListener接口,便会将ApplicationContext放置到servletContext中。
spring bean加载