`

详解RequestMappingHandlerMapping和RequestMappingHandlerAdapter

    博客分类:
  • java
阅读更多
http://donald-draper.iteye.com/blog/2326294
http://donald-draper.iteye.com/blog/2326185

总结:
从以上分析,可以看出RequestMappingHandlerMapping,主要做的工作是将Contoller的带RequestMapping方法,添加到处理方法映射器和路径方法解决器中。

总结:
从上面我们可以看出,RequestMappingHandlerAdapter主要是解决请求的,会话,请求头部处理,数据的绑定等,然后从容器中,获取handlerMethod,处理业务逻辑,获取数据,并渲染视图,返回。

大概意思是说RequestMappingHandlerMapping会把Controller里面带有@RequestMapping注解的方法都加到一个容器里面,然后RequestMappingHandlerAdapter根据里面的自定义配置可以对经过这些方法的请求的数据做一些额外的处理。例如我想对带有@RequestMapping注解的方法的相应数据做一些处理,比如方法返回的都是实体对象类型的数据,我想配置把这些实体对象转换成json串再返回给前端,可以像如下这么配置:
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/>

    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="webBindingInitializer"><!-- 日期绑定 -->
            <bean class="com.qlk.cloud.baymax.common.utils.BindingInitializer"/>
            <!-- <bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
                <property name="conversionService">
                    <bean class="org.springframework.format.support.FormattingConversionServiceFactoryBean"></bean>
                </property>
            </bean> -->
        </property>
        <property name="messageConverters">
            <list>
                <ref bean="stringHttpMessageConverter"/>
                <ref bean="mappingJacksonHttpMessageConverter"/>
            </list>
        </property>
    </bean>

    <bean id="stringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
        <constructor-arg value="UTF-8"/>
        <property name="supportedMediaTypes">
            <list>
                <value>text/plain;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    
	<!-- 处理JSON数据转换的 -->  
    <bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">   
        <!-- 为了处理返回的JSON数据的编码,默认是ISO-88859-1的,这里把它设置为UTF-8,解决有乱码的情况 -->   
        <property name="supportedMediaTypes">    
            <list>    
                  <value>text/plain;charset=UTF-8</value> 
                  <value>application/json;charset=UTF-8</value>   
            </list>    
        </property>    
    </bean>  


需要看下适配器模式
分享到:
评论

相关推荐

    Spring RequestMappingHandlerMapping详解.pdf

    ### Spring RequestMappingHandlerMapping详解 #### 一、前言 `RequestMappingHandlerMapping`是Spring MVC框架中的核心组件之一,主要用于处理HTTP请求与控制器方法之间的映射关系。通过使用这一组件,开发者可以...

    SpringMVC 原理及配置详解Demo

    这个“SpringMVC原理及配置详解Demo”旨在深入解析SpringMVC的工作机制和配置过程,帮助开发者更好地理解和应用这一强大的Web开发工具。 **SpringMVC核心组件** 1. **DispatcherServlet**: SpringMVC的前端控制器,...

    springmvc搭建详解

    &lt;bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/&gt; &lt;!-- 处理器适配器 --&gt; &lt;bean class="org.springframework.web.servlet.mvc.method.annotation....

    SSM框架的配置搭建 spring,spring mvc,mybatis 整合详解

    &lt;bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" /&gt; &lt;!-- 处理器适配器 --&gt; &lt;bean class="org.springframework.web.servlet.mvc.method.annotation....

    springMVC 注解版

    SpringMVC通过`RequestMappingHandlerMapping`和`RequestMappingHandlerAdapter`实现了对注解的支持。 ### 5. 工具支持 在实际开发中,IDE如IntelliJ IDEA提供了强大的SpringMVC注解支持,包括自动完成、代码提示...

    Spring Restful 分析

    每个控制器的方法都由特定的 HandlerAdapter 来处理,Spring MVC 支持多种类型的 HandlerAdapter,例如 `HttpRequestHandlerAdapter`、`SimpleControllerHandlerAdapter` 和 `RequestMappingHandlerAdapter` 等。...

    SpringMVC例子

    **SpringMVC详解** SpringMVC是Spring框架的一部分,它是一个用于构建Web应用程序的轻量级、模型-视图-控制器(MVC)架构。SpringMVC通过将业务逻辑、数据处理和用户界面分离,提高了代码的可维护性和可测试性。在...

    spring MVC搭建及配置详解

    &lt;bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/&gt; &lt;bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/&gt; ...

    SpringMVC入门程序

    **SpringMVC 入门程序详解** SpringMVC 是 Spring 框架的一部分,它是一个用于构建 Web 应用程序的轻量级、模型-视图-控制器(MVC)框架。SpringMVC 提供了丰富的功能,如依赖注入、数据绑定、异常处理等,使得开发...

    HelloSpringMVC.zip

    《SpringMVC Maven项目实战详解》 在Java Web开发领域,SpringMVC是一个广泛应用的开源框架,它提供了模型-视图-控制器(Model-View-Controller)架构模式,极大地简化了开发过程。而Maven作为项目管理和构建工具,...

    我的javapeizhi

    【Java配置详解——Spring与Ajax整合实践】 在Java开发领域,Spring框架以其强大的依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)能力,成为了企业级应用开发的首选。...

    SpringMVC配置.docx

    **SpringMVC 知识点详解** SpringMVC 是 Spring 框架的一部分,它作为一个 Model-View-Controller (MVC) 模式实现,旨在简化 Web 应用的开发。SpringMVC 提供了优雅的编程模型和高度可定制性,使得开发者能够将业务...

    如何访问到静态的文件,如jpg,js,css..docx

    &lt;bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" /&gt; **"&gt;defaultServletHandler &lt;property name="order" value="0" /&gt; &lt;!-- 确保此配置优先 --&gt; ...

    SSM框架常用核心接口和类.txt

    #### 二、核心组件详解 ##### 1. Web.xml配置 **SpringContextLoaderListener** - **功能**: 负责在应用启动时加载Spring容器。 - **应用场景**: 在web.xml中配置,用于初始化Spring容器,实现对整个Web应用生命...

    spring-mvc-xml:spring mvc xml 开涛

    **Spring MVC XML详解** Spring MVC 是 Spring 框架的一部分,专门用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,帮助开发者有效地分离业务逻辑、数据处理和用户界面。在这个主题中,我们将深入探讨...

Global site tag (gtag.js) - Google Analytics