`

springmvc之HttpMessageConverter<T>接口 .

 
阅读更多

来源:http://blog.csdn.net/flashflight/article/details/13511679

 

spring从3.0开始提供一个HttpMessageConverter<T>接口,这个接口相当有用,spring可以针对Http报文头的ContentType来调用该类的默认实现类将HttpServletRequest转化成各种对象,如String,MultiValueMap,BufferedImage等类型,所以在做验证码或者上传文件时特别有用。spring默认加载该接口的四个默认实现类:StringHttpMessageConverter,ByteArrayHttpMessageConverter,SourceHttpMessageConverter,XmlAwareFormHttpMessageConverter.其余的例如处理json数据的默认类需要手动配置,具体配置例如:

            <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" p:messageConverters-ref="messageConverters"/>

           <util:list id="messageConverters">

                  <bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter" />

           </util:list>

          *这里用到了p命名空间,具体资料可以自己查阅

 

 

<bean id="stringHttpMessageConverter"
  class="org.springframework.http.converter.StringHttpMessageConverter">
  <property name="supportedMediaTypes">
   <list>
    <value>${html.contentType}</value>
   </list>
  </property>
 </bean>
 <bean id="byteArrayHttpMessageConverter"
  class="org.springframework.http.converter.ByteArrayHttpMessageConverter" />
 <bean id="resourceHttpMessageConverter"
  class="org.springframework.http.converter.ResourceHttpMessageConverter" />
 <bean id="sourceHttpMessageConverter"
  class="org.springframework.http.converter.xml.SourceHttpMessageConverter" />
 <bean id="allEncompassingFormHttpMessageConverter"
  class="org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter" />

 <bean id="mappingJacksonHttpMessageConverter"
  class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
  <property name="objectMapper">
   <bean class="org.codehaus.jackson.map.ObjectMapper">
    <property name="serializationInclusion" value="NON_NULL" />
    <property name="propertyNamingStrategy">
     <bean
      class="com.ita.kernel.strategy.UseFieldNameStrategy" />
    </property>
   </bean>
  </property>
 </bean>

 <bean
  class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
  <property name="synchronizeOnSession" value="true" />
  <property name="messageConverters">
   <list>
    <ref bean="stringHttpMessageConverter" />
    <ref bean="byteArrayHttpMessageConverter" />
    <ref bean="mappingJacksonHttpMessageConverter" />
    <ref bean="resourceHttpMessageConverter" />
    <ref bean="sourceHttpMessageConverter" />
    <ref bean="allEncompassingFormHttpMessageConverter" />
   </list>
  </property>
 </bean>

项目中spring-mvn有如上的配置,一直不是很清楚为什么这么配置??

分享到:
评论

相关推荐

    SpringMVC-SpringBoot项目搭建.docx

    &lt;artifactId&gt;springmvc&lt;/artifactId&gt; &lt;version&gt;0.0.1-SNAPSHOT&lt;/version&gt; &lt;packaging&gt;war&lt;/packaging&gt; &lt;!-- 其他配置... --&gt; &lt;/project&gt; ``` 在这个示例中,`packaging`属性设置为`war`,表明这是一个Web应用...

    springMVC+MyBatis整合Maven代码

    &lt;param-value&gt;/WEB-INF/springmvc-servlet.xml&lt;/param-value&gt; &lt;/init-param&gt; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt; &lt;/servlet&gt; &lt;listener&gt; &lt;listener-class&gt;org.springframework.web.context....

    编写spring+springmvc+mybatis的全部jia包(使用eclipse编码)

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    springMVC+mybitis+mongodb+maven整合

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt; &lt;version&gt;4.3.23.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    Spring+SpringMVC+Mybatis框架整合例子

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.y.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    SpringMVC知识点.doc

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt; &lt;version&gt;5.3.23&lt;/version&gt; &lt;/dependency&gt; &lt;!-- Servlet API --&gt; &lt;dependency&gt; &lt;groupId&gt;javax.servlet&lt;/groupId&gt; ...

    利用Maven将spring+springMVC+Mybaits整合

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    SpringMVC中json转换所需要的Maven仓库的jar包

    该资源为SpringMVC中json转换所需要的Maven仓库,如果maven下载包的时候速度太慢,可以使用我的这个资源,把这个直接考到本地Maven仓库即可。 对应的Maven依赖如下: &lt;dependency&gt; &lt;groupId&gt;org.codehaus.jackson&lt;/...

    SSM三大框架整合详细总结(Spring+SpringMVC+MyBatis).pdf

    &lt;spring.version&gt;4.0.2.RELEASE&lt;/spring.version&gt; &lt;mybatis.version&gt;3.2.6&lt;/mybatis.version&gt; &lt;slf4j.version&gt;1.7.7&lt;/slf4j.version&gt; &lt;log4j.version&gt;1.2.17&lt;/log4j.version&gt; &lt;/properties&gt; &lt;dependencies&gt; &lt;!...

    基于IDEA的ssm(spring+springMVC+mybatis)基本框架

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    springmvc+spring+mybatis+maven框架搭建ssm

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;!-- SpringMVC 相关依赖 --&gt; &lt;dependency&gt; &lt;groupId&gt;org.spring...

    SpringMVC+Mybatis+Maven项目搭建(IDEA)

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt; &lt;version&gt;5.x.y.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;!-- Mybatis --&gt; &lt;dependency&gt; &lt;groupId&gt;org.mybatis&lt;/groupId&gt; ...

    Maven搭建SSM框架测试HTTP 接口

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    简单SSM(spring-springmvc-mybatis)框架搭建

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    IDEA SpringMVC集成mybatis

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;!-- Spring MVC --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/...

    mac下mvn搭建web工程

    * `cn.springmvc.dao`:存放 Spring 与 MyBatis 连接接口 * `cn.springmvc.service`:存放服务接口 * `cn.springmvc.service.impl`:存放服务接口的实现 * `cn.springmvc.controller`:存放控制层 Controller 在 `...

    SSM之maven整合

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.3.x&lt;/version&gt; &lt;/dependency&gt; &lt;!-- Spring MVC --&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; ...

    SSM框架搭建(IDEA+Maven)

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;...

    Maven中Spring+SpringMVC+Mybatis的Jar包

    &lt;groupId&gt;org.springframework&lt;/groupId&gt; &lt;artifactId&gt;spring-context&lt;/artifactId&gt; &lt;version&gt;5.x.x.RELEASE&lt;/version&gt; &lt;/dependency&gt; ``` SpringMVC的依赖: ```xml &lt;dependency&gt; &lt;groupId&gt;org.spring...

Global site tag (gtag.js) - Google Analytics