一、Spring MVC执行原理和基于Java配置的配置过程
(一)Spring MVC执行过程,大致为7步。
- 所有的请求都会经过Spring的一个单例的DispacherServlet。
- DispatcherServlet会查询一个或多个处理器映射,找到请求的URL所对应的控制器。
- 把请求的内容传递给控制器后等待控制器处理这些内容。
- 控制器在逻辑处理后会产生一些数据(例如查询所有的用户信息),这些数据存在在模型(Model)中,同时返回一个视图名用作渲染数据。
- DispacherServlet找到视图解析器,视图解析器通过视图名找到真正的视图实现。
- DispacherServlet找到视图实现后再把模型(Model)的数据渲染到视图中。
- 把最终的视图通过响应对象传递给客户端
(二)搭建Spring MVC
- 配置DispacherServletServlet
DispatcherServlet是SpringMVC的核心,所有请求通过它来接触到框架,它又把请求转发到其他的组件。
按照传统的方式,Servlet需要配置在web.xml的文件中。但是,在Servlet3和Spring3.1之后,又提供了另外一种依据Java类配置的方式。我们先看看这种方式的代码是什么样的。
public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { protected Class<?>[] getRootConfigClasses() { System.out.println("用来加载spring管理的中间层和数据层组件,下面会给出具体代码"); return new Class[]{RootConfig.class}; } protected Class<?>[] getServletConfigClasses() { System.out.println("用来加载web相关的组件,如控制器、视图解析器等,下面会给出具体代码"); return new Class[]{WebConfig.class}; } protected String[] getServletMappings() { System.out.println("如果映射是/,代表DispacherServlet是默认的Servlet"); return new String[]{"/"}; } }