Spring MVC的自动转换功能 HttpMessageConverter
默认起用的MVC注解功能
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 ,支持DOMSource, SAXSource, 和 StreamSource 的XML格式
BufferedImageHttpMessageConverter:that can read and write java.awt.image.BufferedImage from the HTTP request and response
起用JSON转换功能
xml
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对象
@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/