专栏首页Java技术栈Spring MVC常用注解,你会几个?

Spring MVC常用注解,你会几个?

常用注解

  • Controller

注解一个类表示控制器,Spring MVC会自动扫描标注了这个注解的类。

  • RequestMapping

请求路径映射,可以标注类,也可以是方法,可以指定请求类型,默认不指定为全部接收。

  • RequestParam

放在参数前,表示只能接收参数a=b格式的数据,即 Content-Typeapplication/x-www-form-urlencoded类型的内容。

  • RequestBody

放在参数前,表示参数从request body中获取,而不是从地址栏获取,所以这肯定是接收一个POST请求的非a=b格式的数据,即 Content-Type不为 application/x-www-form-urlencoded类型的内容。

  • ResponseBody

放在方法上或者返回类型前,表示此方法返回的数据放在response body里面,而不是跳转页面。一般用于ajax请求,返回json数据。

  • RestController

这个是Controller和ResponseBody的组合注解,表示@Controller标识的类里面的所有返回参数都放在response body里面。

  • PathVariable

路径绑定变量,用于绑定restful路径上的变量。

  • @RequestHeader

放在方法参数前,用来获取request header中的参数值。

  • @CookieValue;

放在方法参数前,用来获取request header cookie中的参数值。

  • GetMapping PostMapping PutMapping.. *Mapping的是Spring4.3加入的新注解,表示特定的请求类型路径映射,而不需要写RequestMethod来指定请求类型。

演示

import org.dom4j.util.UserDataElement;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/test")
public class TestController {

    @RequestMapping(value = "/get/{no}", method = RequestMethod.GET)
    @ResponseBody
    public Object get(@PathVariable("no") String no) {
        return new UserDataElement("");
    }

    @RequestMapping(value = "/save", method = RequestMethod.POST)
    public void save(@RequestBody UserDataElement user) {

    }

}

看完有没有收获?

分享到朋友圈给更多的人吧。

本文分享自微信公众号 - Java技术栈(javastack),作者:javastack

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spring Boot & ES 实战,值得参考!

    Spring Boot 2.0.5默认的elasticsearch版本很低,这里我们用最新版本6.4.1

    Java技术栈
  • Spring Boot功能实战

    添加web功能启动器 添加了Spring Boot基础依赖后,如要使用web mvc功能,只需要添加如下启动器即可,Spring Boot会自动装配web功能。...

    Java技术栈
  • JDK8新特性之Optional

    Optional是什么 java.util.Optional Jdk8提供 Optional,一个可以包含null值的容器对象,可以用来代替xx != null...

    Java技术栈
  • Spring Boot 应用如何提高服务吞吐量?

    电子商务类型网站大多都是短请求,一般响应时间都在100ms,这时可以将web容器从tomcat替换为undertow,下面介绍下步骤:1、增加pom配置

    搜云库技术团队
  • 我们老大半小时把我的springboot项目并发提升几倍

    电子商务类型网站大多都是短请求,一般响应时间都在100ms,这时可以将web容器从tomcat替换为undertow,下面介绍下步骤:1、增加pom配置

    趣学程序-shaofeer
  • 【译】Spring 官方教程:创建批处理服务

    原文:Creating a Batch Service 译者:Mr.lzc 校对:lexburner 本指南将引导你完成创建基本的批处理驱动解决方案的过程。 你...

    程序猿DD
  • 如何提升springboot服务吞吐量

    电子商务类型网站大多都是短请求,一般响应时间都在100ms,这时可以将web容器从tomcat替换为undertow,下面介绍下步骤: 1、增加pom配置

    一笠风雨任生平
  • 如何提升springboot服务吞吐量

    电子商务类型网站大多都是短请求,一般响应时间都在100ms,这时可以将web容器从tomcat替换为undertow,下面介绍下步骤:1、增加pom配置

    会呼吸的Coder
  • 第八章:Shiro和Spring的集成——深入浅出学Shiro细粒度权限开发框架

    Standalone Applications

    MonroeCode
  • 第八章:Shiro和Spring的集成——深入浅出学Shiro细粒度权限开发框架

    Standalone Applications nShiro 应用程序需要一个具有单例SecurityManager 实例的应用程序。请注意,这不会是一个静态的...

    MonroeCode

扫码关注云+社区

领取腾讯云代金券