<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 ,支持
DOMSource
, SAXSource
, 和 StreamSource
的XML格式
BufferedImageHttpMessageConverter:that can read and write java.awt.image.BufferedImage
from the HTTP request and response
起用JSON转换功能
xml2 < 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对象
public @ResponseBody Pojo getPojoJson() {
Pojo pojo = new Pojo();
pojo.setA( " test " );
pojo.setB( 1 );
pojo.setD( new Date());
return pojo;
}
转自 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>