spring mvc 起用的注解功能和自动转换功能的实现

<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
StringHttpMessageConverter: that can read and write Strings from the HTTP request and response.
FormHttpMessageConverter:that can read and write form data from the HTTP request and response.
ByteArrayMessageConverter:that can read and write byte arrays from the HTTP request and response.
MarshallingHttpMessageConverter:XML的转换需要使用Spring的 Marshaller 和 Unmarshaller.
MappingJacksonHttpMessageConverter:JSON的转换.
SourceHttpMessageConverter:能够读/写来自HTTP的请求与响应的javax.xml.transform.Source ,支持DOMSourceSAXSource, 和 StreamSource 的XML格式
BufferedImageHttpMessageConverter:that can read and write java.awt.image.BufferedImage from the HTTP request and response

起用JSON转换功能

xml
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->  1      <!--  启动Spring MVC的注解功能,完成请求和注解POJO的映射  -->
 2       < bean
 3           class = " org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter " >
 4           < property name = " messageConverters " >
 5               < util:list id = " beanList " >
 6                   < ref bean = " stringHttpMessageConverter "   />
 7                   < ref bean = " jsonHttpMessageConverter "   />
 8                   < ref bean = " marshallingHttpMessageConverter "   />
 9               </ util:list >
10           </ property >
11       </ bean >
12 
13       < bean id = " stringHttpMessageConverter "
14           class = " org.springframework.http.converter.StringHttpMessageConverter "   />
15       < bean id = " jsonHttpMessageConverter "
16           class = " org.springframework.http.converter.json.MappingJacksonHttpMessageConverter "   />
17       < bean id = " marshallingHttpMessageConverter "
18           class = " org.springframework.http.converter.xml.MarshallingHttpMessageConverter " >
19           < property name = " marshaller "  ref = " castorMarshaller "   />
20           < property name = " unmarshaller "  ref = " castorMarshaller "   />
21       </ bean >
22 
23       < bean id = " castorMarshaller "   class = " org.springframework.oxm.castor.CastorMarshaller "   />
24 


MappingJacksonHttpMessageConverter能够将POJO对象自动转换为JSON对象

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->     @RequestMapping(value  =   " /getPojoJson "  , method = RequestMethod.GET)
    
public  @ResponseBody Pojo getPojoJson() {
      Pojo pojo
= new  Pojo();
      pojo.setA(
" test " );
      pojo.setB(
1 );
      pojo.setD(
new  Date());
      
return  pojo;
    }
需要依赖JSON对象的处理JAR包
jackson-core-lgpl.jar
jackson-mapper-lgpl.jar
下载地址:
http://jackson.codehaus.org/

转自 http://www.blogjava.net/wmcoo/articles/333472.html

 

我自己的工作用到的配置代码:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/mvc"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
 xmlns:context="http://www.springframework.org/schema/context"
 xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">

 <!-- DispatcherServlet Context: defines this servlet's request-processing
  infrastructure -->

 <!-- Enables the Spring MVC @Controller programming model -->

 <beans:bean
  class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
  <beans:property name="messageConverters">
   <beans:list>
   <!-- 解决spring mvc 返回乱码问题 -->
    <beans:bean
     class="org.springframework.http.converter.StringHttpMessageConverter">
     <beans:property name="supportedMediaTypes">
      <beans:list>
       <beans:value>text/plain;charset=UTF-8</beans:value>
      </beans:list>
     </beans:property>
    </beans:bean>
    <!-- json转换器,bean可以自动转换json -->
    <beans:bean id="jacksonMessageConverter"
     class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
   </beans:list>
  </beans:property>
 </beans:bean>
 
 <annotation-driven />

 <!-- Handles HTTP GET requests for /resources/** by efficiently serving
  up static resources in the ${webappRoot}/resources directory -->
 <resources mapping="/**" location="/resources/" />

 <!-- Resolves views selected for rendering by @Controllers to .jsp resources
  in the /WEB-INF/views directory -->
 <beans:bean
  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <beans:property name="prefix" value="/WEB-INF/views/" />
  <beans:property name="suffix" value=".jsp" />
 </beans:bean>
 <!-- <beans:bean id="viewResolver" -->
 <!-- class="org.springframework.web.servlet.view.UrlBasedViewResolver"> -->
 <!-- <beans:property name="viewClass"> -->
 <!-- <beans:value>org.springframework.web.servlet.view.tiles2.TilesView -->
 <!-- </beans:value> -->
 <!-- </beans:property> -->
 <!-- </beans:bean> -->


 <!-- tiles配置器 -->
 <!-- <beans:bean id="tilesConfigurer" -->
 <!-- class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"> -->
 <!-- <beans:property name="definitions"> -->
 <!-- <beans:list> -->
 <!-- <beans:value>/WEB-INF/layouts/layouts.xml</beans:value> -->
 <!-- <beans:value>/WEB-INF/views/**/views.xml</beans:value> -->
 <!-- </beans:list> -->
 <!-- </beans:property> -->
 <!-- </beans:bean> -->


 <context:component-scan base-package="com.ailong.web" />

</beans:beans>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值