`

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>

 

分享到:
评论
1 楼 cyheye 2012-10-24  
谢谢!
对AnnotationMethodHandlerAdapter,有个大概的了解~~~~~~~~~

相关推荐

    Spring MVC 基于注解实例

    Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于注解实例Spring MVC 基于...

    Spring MVC 的注解使用实例

    Spring MVC通过注解可以实现控制器、方法映射、模型数据绑定、视图解析等关键功能。本实例将深入探讨Spring MVC中常见的注解及其应用。 1. `@Controller` 注解:这个注解用于标记一个类作为Spring MVC的控制器。当...

    最全的Spring MVC注解例子,异步请求,错误处理

    在这个“最全的Spring MVC注解例子”中,我们将深入探讨Spring MVC的核心注解,以及如何实现异步请求处理和错误管理。 1. **Spring MVC核心注解** - `@Controller`:标记一个类为处理HTTP请求的控制器。这是Spring...

    spring-mvc注解详情

    Spring MVC 是一个强大的Java Web开发框架,它使用注解来简化MVC(Model-View-Controller)模式的应用程序开发。...通过阅读所提供的文档,可以深入理解每个注解的用法和实现细节,从而更好地运用到实际项目中。

    Spring3.0MVC注解(附实例)

    在Spring 3.0中,Spring MVC引入了强大的注解支持,...总结来说,Spring 3.0的MVC注解提供了强大的功能,让Web应用的开发更加灵活和便捷。通过合理的注解使用和配置,开发者可以构建出高效、易于维护的Spring MVC应用。

    spring mvc mybatis 注解版

    MyBatis注解简化了传统的XML配置,可以在Mapper接口和实现类中直接定义SQL语句。主要的注解有: 1. `@Select`:用于查询操作,可以包含一个SQL查询语句。 2. `@Insert`:插入数据,可以包含一个INSERT语句,支持...

    spring mvc + spring + hibernate 全注解整合开发视频教程 12

    在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第12部分,将帮助开发者掌握如何在Java Web项目中高效地集成这三个核心框架,实现松耦合、可...

    使用Spring 2.5 基于注解驱动的 Spring MVC详解

    使用 Spring 2.5 基于注解驱动的 Spring MVC 详解 ...Spring 2.5 中的注解驱动功能使得 Spring MVC 框架变得更加灵活和易用。使用注解驱动功能,可以完全替换传统的基于 XML 的配置方式,使得配置变得更加简单和灵活。

    Spring MVC 使用注解的示例讲解

    在本示例中,我们将深入探讨如何利用注解来增强Spring MVC的功能,提高开发效率。 1. **Spring MVC基本结构** Spring MVC的核心组件包括DispatcherServlet、Controller、Model、View和ViewResolver。...

    基于注解Spring MVC环境搭建

    这篇博文(尽管描述为空,但提供了链接)很可能是关于创建一个基本的Spring MVC项目并使用注解来管理控制器、视图解析和其他关键组件的教程。 1. **Spring MVC简介** Spring MVC是Spring框架的一部分,它提供了...

    spring mvc 中 实现自定义注解 拦截需要的方法

    网上很多人想使用注解拦截spring mvc action中的一个方法,实现方法很多,一般是通过在拦截器中分析url路径来实现, 使用自定义注解的方式来标注要拦截的 action 中的某个方法, 没有很好的解决方法, 如果通过借助spring...

    Spring MVC注解项目实例

    在本项目实例中,我们探讨的是如何使用Spring MVC框架结合注解进行开发,以及如何实现对数据库表的CRUD(创建、读取、更新、删除)操作。Spring MVC是Spring框架的一部分,它专注于Web应用程序的模型-视图-控制器...

    Spring Mvc AOP通过注解方式拦截controller等实现日志管理

    在Spring MVC框架中,AOP(面向切面编程)是一种强大的工具,用于实现跨切面的关注点,如日志管理。本教程将详细介绍如何利用注解来配置和使用AOP来拦截Controller层的方法,以便记录执行过程中的相关信息,实现日志...

    IT学习者Spring MVC注解实例.pdf

    IT学习者Spring MVC注解实例.pdf

    Spring MVC基于注解完整实例

    Spring MVC基于注解完整实例,学习的好东西

    spring mvc + spring + hibernate 全注解整合开发视频教程 04

    在本视频教程“Spring MVC + Spring + Hibernate 全注解整合开发视频教程 04”中,我们将深入探讨Java企业级开发中的三大核心技术——Spring、Spring MVC和Hibernate的集成与应用,尤其是通过注解实现的简化配置。...

    spring mvc 注解例子

    Spring MVC 是一个强大的Java Web开发框架,用于...在提供的链接文章"spring mvc 注解实现"中,你应该能发现更多关于如何实际应用这些注解的例子和详细解释。学习和理解这些注解对于提升Spring MVC的开发效率至关重要。

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...

    spring mvc 注解 增删改 实例

    Spring MVC 是一个强大的Java web开发框架,用于构建高效、可维护和模块化的Web应用程序。...通过这个实例,开发者可以深入理解Spring MVC的请求处理机制和Hibernate的ORM功能,为实际项目开发打下坚实基础。

    Spring MVC jar包

    - **AOP集成**:Spring MVC与Spring的面向切面编程(AOP)无缝集成,可以方便地实现事务管理和其他切面功能。 2. **Hibernate 3.6.8**: - **ORM框架**:Hibernate是一个强大的ORM工具,它将Java对象映射到数据库...

Global site tag (gtag.js) - Google Analytics