`
sslaowan
  • 浏览: 380314 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Spring3.0新特征-Restful support MVC

阅读更多

Spring 2.5发布不久,Spring3.0项目已经是开始进行了。

    包括很多新功能,如标题中提到的Restful的支持,还有Servlet3.0的支持等。

    大概总结了一下,Spring3.0中会包括以下一些新特性:

    1. Full scale REST support by means of additions to the Spring MVC API - already pretty detailed, and apparently going to be included in the first milestone release

    2. Support for Unified EL (as seen in Spring Web Flow) - very likely part of 3.0, but no details given

    3. Annotation support for declaring factory methods - as above

    4 .Support for Portlet 2.0 (JSR 286), including resource requests (ResourceServingPortlet) - as above

    5. "Preparations" for Servlet 3.0 specification - sounded a lot like architectural preparations not visible to the "consumer"

    6. Something to fill the gap between Spring Web Flow and Spring MVC - that sounded very vague

    7. Inclusion (probably generalisation) of the repeat, retry and resume semantics provided by Spring Batch - was only hinted at, no details given

    8. Inclusion of the OXM support provided by Spring WS - sounded pretty definitive, but no details given

    9. Some kind of site definition language for the web stack - no idea whether this is more than a rumour

    10. Model-based validation for use both in server and client - as above

    下面我们具体介绍一下Restful该特性。

    刚才我也提到了,Spring3.0是基于其目前提供的Spring MVC框架上引入对Rest的支持,这样使其可以很好的融合到Spring中。

    下面有一段代码,大家看了会更有体会。

    先看一下如何发布Rest风格的服务接口

1 @RequestMapping(value = "/gadgets/{id}",
2       method = RequestMethod.GET)
3 public View getGadget(@PathParam String id) {
4   // 功能是根据 id 查询 Gadget对象
5   // 返回View对象
6 }
7  

    看到使用Annotation方式,代码非常简洁。@RequestMapping是对访求的资源进行服务的绑定, value指定服务的资源路径, method是指Rest风格中的CRUD的方法。

    @PathParam是对资源路么参数的解析,它会自动根据提交的数据格式,解析参数值。

    下面来看一下RestTemplate,对Rest服务接口的调用。

 1 // 使用getForObject执行查询操作
 2 //  (指定参数提交方式)
 3 RestTemplate template = new RestTemplate();
 4 Gadget gadget = template.getForObject(
 5     "http://www.springify.com/gadgets/{id}",
 6     Gadget.class1);
 7 
 8 // 使用postForLocation 执行新增操作
 9 // (指定参数提交方式,使用Map对象)
10 Map<String, String> params =
11     new HashMap<String, String>();
12 params.put("id"42);
13 URI uri = template.postForLocation(
14     "http://www.springify.com/gadgets/{id}/features",
15     new Feature("Glows in the dark."), params);
16 
17 // 删除操作的演示
18 template.delete(
19     "http://www.springify.com/gadgets/{id}", someId);
20 
21
29  

    总结:可以看到使用Rest风格的服务发布,可以对服务资源进行统一的管理,使用发布的接口更清晰。

    当然在Spring 3.0 发布之前,上述的API,annotation可能会有变动,我们也期待Spring能与我们早日见面。

    最后,由于本人对Rest技术了解还不是太深入,也希望大家能多提些意见和建议。

分享到:
评论
1 楼 liuxiang00435057 2012-10-19  
基于这种风格的权限怎么去控制呢,精确的每个方法

相关推荐

    spring3.0MVC中文教程

    #### Spring3.0新特性 - **Java5支持与注解配置**:Spring3.0全面支持Java5的特性,如泛型、注解和可变参数,简化了代码编写和维护。 - **Spring Expression Language (SpEL)**:引入了一种新的表达式语言,可用于...

    spring3.0的最新官方例子源码spring-samples

    Spring 3.0是Spring框架的一个重要版本,它引入了许多新特性和改进,极大地提升了开发效率和灵活性。这个"spring3.0的最新官方例子源码spring-samples"压缩包包含的是Spring官方提供的示例代码,旨在帮助开发者理解...

    spring-framework-3.0源码地址

    5. **RESTful支持**:Spring 3.0加强了对RESTful风格的Web服务支持,提供了一套完整的工具集,包括`@RequestMapping`、`@ResponseBody`等注解,便于创建符合REST原则的应用。 6. **SpEL(Spring Expression ...

    Getting started with Spring Framework: covers Spring 5(epub)

    Database interaction using Spring and Hibernate/JPA- Spring Data JPA- Spring Data MongoDB- Messaging, emailing and caching support- Spring Web MVC- Developing RESTful web services using Spring Web ...

    springAPI 3.0中文文档,spingAPI3.2中文版电子档

    3. **JSR-303/JSR-349 Bean Validation**:Spring 3.0集成了Bean Validation规范,允许在Spring MVC中进行数据验证,提高了代码的可维护性和一致性。 4. **Spring Expression Language (SpEL)**:3.0版本加强了SpEL...

    spring-framework-5.3.20

    - **RESTful API**:Spring MVC提供了一套完整的解决方案,用于构建RESTful风格的Web服务。 - **数据库操作**:Spring Data支持多种持久层技术,简化了数据库操作。 - **分布式事务**:Spring的事务管理功能,确保跨...

    Mastering Spring MVC 4(2015.09)源码

    首先,Spring MVC 4基于Servlet 3.0规范,这意味着它可以利用异步处理能力,提高了Web应用的性能。通过AsyncSupport和AsyncConfigurer接口,开发者可以轻松地创建异步控制器,处理高并发场景。 控制器(Controller...

    spring-framework-reference.pdf

    #### 三、Spring 3.0新特性及增强 Spring 3.0版本引入了许多新的特性和改进,主要包括: - **Java 5**:Spring 3.0支持Java 5,这意味着开发人员可以利用泛型、枚举和其他语言级别的改进。 - **Spring Expression ...

    spring-framework-reference

    下面将详细介绍Spring框架的核心概念、特点及其3.0版本中的新功能。 ### 一、Spring框架概述 #### 1.1 依赖注入与控制反转 依赖注入(Dependency Injection, DI)是一种软件设计模式,它提倡通过构造函数、方法或...

    Getting.started.with.Spring.Framework.2nd.Edition1491011912.epub

    Chapter 12 –Developing RESTful web services using Spring Web MVC Chapter 13 – More Spring Web MVC – internationalization, file upload and asynchronous request processing Chapter 14 – Securing ...

    Sring MVC3.0中文版和4.0英文版

    以上只是Spring MVC 3.0和4.0中的部分关键特性,实际应用中还涉及到更多高级话题,如拦截器链、自定义异常处理、RESTful API设计原则等。通过阅读提供的中文版和英文版文档,可以更深入地理解这些概念,提高在实际...

    spring-framework-4.2.0相关jar

    在4.2.0中,对RESTful服务的支持更加完善,增强了MVC功能。 7. **Web MVC模块**:Spring MVC是构建Web应用的首选方式,提供了模型-视图-控制器架构。4.2.0版本可能引入了新的视图解析策略,增强了数据绑定和验证...

    spring-framework-3.0.5.RELEASE-jars

    11. `spring-webmvc-3.0.5.RELEASE.jar`: 是Spring MVC的实现,提供了一种模型-视图-控制器的架构模式,用于构建Web应用。 这个版本的Spring框架还支持JSR-303(Bean Validation)和JSR-310(Java 8日期时间API)的...

    spring-5.0.3官方jar包

    5. **Spring Web**:此模块为构建Web应用程序提供支持,包括MVC(Model-View-Controller)框架,用于构建RESTful服务。5.0.3版本可能加强了对WebSocket的支持,以及响应式编程的集成,如Project Reactor。 6. **...

    spring MVC基础学习

    Spring MVC 是一款基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。在Spring MVC中,开发者可以利用模型-视图-控制器(MVC)架构模式来分离业务逻辑、数据处理和...

    spring-framework-3.1.0.M2-with-docs 3-3

    5. **MVC增强**:包括路径变量、静态资源处理、RESTful支持等方面的改进,提高了Spring MVC的易用性和功能。 6. **JMX改进**:加强了JMX集成,提供了更好的监控和管理能力。 7. **Caching**:引入了缓存抽象,支持...

    spring-spring-framework-4.3.24.RELEASE.zip

    10. **RESTful支持**:Spring MVC的Controller可以通过@RequestMapping注解轻松处理RESTful请求,配合HttpMessageConverter可以方便地处理各种数据格式。 深入学习Spring 4.3.24.RELEASE源码,不仅能帮助我们理解其...

    对应Spring MVC 的博客

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建RESTful应用程序提供了强大的支持。这个框架是Spring生态系统的一部分,旨在简化开发过程,通过模型-视图-控制器(MVC)架构模式来分离业务逻辑、数据处理和...

    spring-webmvc-reading:spring-webmvc模块核心实现源码的个人理解,以及翻译注解

    Spring Web MVC是Spring框架的核心部分,它为构建Web应用程序提供了模型-视图-控制器(MVC)架构。本文将深入探讨Spring Web MVC的内部工作原理,基于个人理解和翻译的源码注解,帮助读者理解其核心实现。 1. **MVC...

Global site tag (gtag.js) - Google Analytics