`
daigong
  • 浏览: 117293 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

spring rest 中的 注解使用

阅读更多
[url]http://hi.baidu.com/china8jie/blog/item/492b367f09d5ac052a388a62.html
[/url]

@RequestMapping @RequestParam @PathVariable @ModelAttributes @SessionAttributes @CookieValue @RequestHeader 都是Spring MVC REST中的注释方法,这几种注释方法的用法如下:
1#Controller 示例
URL示例: POST /users/query?userId=1234


@Controller
public class <SPAN class=t_tag onclick=tagshow(event) href="tag.php?name=Java">Java</SPAN>BlogerController {
    @Autowired
    JavaBlogerService serviceLayer;
    @RequestMapping
    public String delete(@RequestParam String userId ){
    serviceLayer.query (userId);
    return "redirect:list";
    }
}
2#CookieValue 示例


@RequestMapping ("/userList")
    public String delete(@CookieValue("JSESSIONID") String sessionId ){
    }
注释表明,CookieValue方法的参数可以绑定到HTTP的Cookie。支持在Servlet和Portlet环境注明处理方法。

3#RequestHeader示例
显示结果
User-Agent: Mozilla/0 (Windows; U; Windows NT 1; en-GB; rv:9.0.11)
Gecko/2009060215 Firefox/0.11 (.NET CLR 30729)
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Keep-Alive: 300


@RequestMapping("/showJavaBlogerInfo")
public void showHeadInfo(
                    @RequestHeader("User-Agent"),String userAgent,
                    @RequestHeader("Accept-Encoding"),String encoding,
                    @RequestHeader("Keep-Alive"),long keepAlive, ){
                    }
4#HiddenHttpMethodFilter 示例
·Allows HTML browsers to emulate PUT and DELETE requests HTML forms only support GET/POST natively
·Special hidden parameter determines RequestMethod

上面2句话需要翻译一下
<[email=%@taglib]%@taglib[/email] prefix="form" uri="http://www.springframework.org/tags/form" %>
<form:form method="delete">
    <input value="Delete" type="submit">
</form:form>


@RequestMapping (metthod=RequestMethod.DELETE)
public void delete (@RequestParam String userId) {
        System.out.println(userId);
    }
5#/** 分页信息装载 */ 示例


@RequestMapping(value = "/page/{pageNo}", method = RequestMethod.GET)
public String pageLoad(@PathVariable int pageNo) {
       String mapping = "mainPage";
      
        System.out.println(pageNo);
    return mapping;
    }
6#SessionAttributes 示例


@Controller
@SessionAttributes( "currentUser " )
public   class GreetingController {
@RequestMapping
public   void hello(@ModelAttribute( "currentUser " ) User user) {
   // user.sayHello()
}
//
}
使用@ModelAttribute 需要访问 Session 属性的 controller 上加上 @SessionAttributes,然后在 action 需要的 User 参数上加上 @ModelAttribute,并保证两者的属性名称一致。SpringMVC 就会自动将 @SessionAttributes 定义的属性注入到 ModelMap 对象,在 setup action 的参数列表时,去 ModelMap 中取到这样的对象,再添加到参数列表。只要我们不去调用 SessionStatus 的 setComplete() 方法,这个对象就会一直保留在 Session 中,从而实现 Session 信息的共享。

分享到:
评论

相关推荐

    spring+mybatis+rest全注解demo

    【标题】"Spring+Mybatis+REST全注解Demo"是一个综合性的开发示例,它展示了如何使用Spring框架、Mybatis持久层框架以及RESTful API设计原则,通过注解方式来构建一个完整的Java应用程序。这个Demo旨在帮助开发者...

    Spring3.0 rest 实例

    在Spring 3.0中,我们可以通过定义`@Controller`类和使用`@RequestMapping`注解来映射HTTP方法到特定的处理函数,从而实现这些原则。 ### 2. 创建RESTful控制器 首先,我们需要创建一个`@Controller`注解的类,该...

    spring rest mvc使用RestTemplate调用

    在Spring应用中,可以通过`RestTemplate`的默认构造函数来实例化,或者在配置类中通过@Bean注解声明一个实例,以便进行依赖注入。例如: ```java @Bean public RestTemplate restTemplate() { return new ...

    spring-data-rest-angular例子

    3. **数据库连接**: 在Spring Boot项目中,可以使用`spring.datasource.*`配置属性来设置数据库连接。Spring Boot支持多种数据库,如MySQL、PostgreSQL等。通常,我们使用JPA(Java Persistence API)和Hibernate...

    spring cxf rest demo

    通过这个项目,开发者可以学习如何使用Spring的`@Component`和`@Autowired`注解进行依赖注入,以及如何通过CXF的`@Path`,`@GET`等注解来定义REST服务。此外,还可以了解到如何在Spring中配置CXF,以及如何使用CXF的...

    spring mvc rest基础学习demo

    在"spring mvc rest基础学习demo"中,我们将深入探讨如何使用Spring MVC构建RESTful API。 REST(Representational State Transfer,表现层状态转移)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,以...

    Spring高级之注解驱动开发视频教程

    系统的学习Spring框架中各个部分,掌握Spring中一些高级特性的使用。 l Spring IoC n 设计模式-工厂模式 n 基础应用-入门案例 n 基础应用-常用注解使用场景介绍及入门 n 高级特性-自定义BeanNameGenerator n 高级...

    使用Spring MVC创建REST服务简单例子

    在IT行业中,Spring MVC是一个...通过这个简单的例子,你应该对使用Spring MVC创建REST服务有了初步的理解。你可以根据实际需求,扩展这个例子,添加更多的API、处理复杂的业务逻辑,以及使用JSON等数据格式进行交互。

    spring mvc rest 小例子

    至于"工具"标签,它可能指的是开发过程中使用的各种工具,如IDE(Eclipse, IntelliJ IDEA)、构建工具(Maven, Gradle)、版本控制(Git)以及测试工具(JUnit, Mockito)等。这些工具能帮助我们更高效地开发和管理...

    Spring MVC REST Demo

    "Spring MVC REST Demo"是一个示例项目,旨在展示如何在Spring MVC框架中实现RESTful Web服务。下面将详细讨论Spring MVC与RESTful API的结合,以及如何创建和测试此类服务。 首先,Spring MVC是Spring框架的一部分...

    华为技术专家整理Spring Boot 注解大全.docx

    @RepositoryRestResource:配合spring-boot-starter-data-rest使用,可以将一个Repository接口暴露为REST资源。 总的来说,Spring Boot的这些注解极大地简化了Spring应用的配置,使得开发者能更专注于业务逻辑,而...

    rest+spring+hibernate

    在Spring框架中,可以使用Spring MVC或者Spring WebFlux模块创建REST服务。控制器类中定义处理HTTP请求的方法,通过@RequestMapping注解指定请求路径和方法类型。 2. **JSON交互**:JSON(JavaScript Object ...

    Spring3.0实现REST实例

    在Spring 3.0中,我们可以使用以下技术实现REST服务: **1. @RestController注解:** 这是Spring MVC提供的一个新注解,它将@Controller和@ResponseBody合并在一起,表明控制器方法的返回值将直接转换为HTTP响应体...

    Java_学习如何使用Spring Data REST使用基于REST的超媒体数据持久化.zip

    总的来说,这个压缩包中的教程可能涵盖了上述各个知识点,帮助开发者了解和掌握如何使用Spring Data REST构建高效、灵活且易于维护的RESTful数据服务。通过学习这些内容,开发者能够提升自己的Java Web开发技能,...

    spring-rest-template:用于创建Spring Rest Web服务的样板项目

    用于创建Spring Rest Web服务的样板项目(Java注释)。 该项目包含开发基于Spring的Rest Web服务的所有基本要求。 这项工作正在进行中,我将继续使用其他功能(例如缓存,安全性,身份验证/授权等)来更新项目。

    Rest简介及Spring实现

    了解REST和Spring中的REST服务实现是现代Web开发的重要组成部分。通过REST,我们可以构建高效、可扩展的API,方便客户端进行数据交互。Spring框架提供了强大的工具,简化了REST服务的开发过程,使开发者能够快速、...

    Spring MVC – Easy REST-Based JSON Services with @ResponseBody

    标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...

    jersey+spring rest webservice web maven

    标题中的"jersey+spring rest webservice web maven"是一个基于Java开发的RESTful Web服务架构,它结合了几个关键的技术组件。让我们深入探讨每个部分: 1. **Jersey**: Jersey是Java RESTful Web服务(JAX-RS)...

    apache wink集成spring 开发rest服务

    此外,可以使用Spring的`@Component`注解标记Wink资源类,然后通过`ComponentScan`扫描这些类并自动注册到Wink应用中。 3. **资源类**:Wink资源类是处理HTTP请求的核心,通常会使用`@Path`注解来指定URI模板,用`@...

    Spring3MVC注解教程.ppt

    使用Spring的Servlet API代理类 使用IO对象作为入参 其他类型的参数 HttpMessageConverter HttpMessageConverter实现类 使用@RequestBody/@ResponseBody 使用HttpEntity&lt;T&gt;/ResponseEntity&lt;T&gt; 输出XML和JSON ...

Global site tag (gtag.js) - Google Analytics