前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC常用注解

SpringMVC常用注解

作者头像
多凡
发布2019-11-01 09:23:24
3090
发布2019-11-01 09:23:24
举报
文章被收录于专栏:sringbootsringbootsringboot

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_44580977/article/details/97709291

1.RequestParam

使用说明

在这里插入图片描述
在这里插入图片描述

使用示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

理解:这个注解就是规定请求体中是否必须有注解里配置的key值。value + required

2. RequestBody

使用说明

在这里插入图片描述
在这里插入图片描述

使用示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

理解:RequestBody这个注解其实就是把请求的请求体内容赋给所注解的形参。因为 get是没有请求体的,所有要注意required 值的设置,默认是true,也就是有请求体。

3. PathVaribale

使用说明,(REST风格URL可以看下期)

在这里插入图片描述
在这里插入图片描述

使用示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

理解:这个注解表示的提供一个占位符,这个占位符在url 中,/user/{ id }, HTTP 协议操作方式Delete 原本传入形参是这样的,/user/delete?id={ id },这种注解就让的请求到delete 的controller 类变得更加灵活。

4.RequestHeader

使用说明

在这里插入图片描述
在这里插入图片描述

使用示例

在这里插入图片描述
在这里插入图片描述

理解:简简单单 就是设置请求头的key,取出对应的value,required:是否必须有此消息头。

5.CookieValue

使用说明

在这里插入图片描述
在这里插入图片描述

使用示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

理解:设置value值,将值赋给形参,required:是否必须有此 cookie。

6.ModelAttribute

使用说明

在这里插入图片描述
在这里插入图片描述

基于 POJO 属性的基本使用示例

啊

基于 Map 的应用场景示例 1:ModelAttribute 修饰方法带返回值

		当前端请求这个方法时,会先执行有ModelAttribute注解的方法,
    /**
     * ModelAttribute注解
     * @return
     */
    @RequestMapping(value="/testModelAttribute")
    public String testModelAttribute( User user){
        System.out.println("testModelAttribute执行了...");
        System.out.println(user);
        return "success";
    }
	ModelAttribute注解的方法
    /**
     * 该方法会先执行
     *`在这里插入代码片`
     */
     @ModelAttribute
     public User showUser(String uname){
         //前端没用传完整的user内容,
         //因为这里是先于url请求的方法执行的,
         //所以可以利用这个注解去,
         //完善user(这里的完善一般指的时查数据库),然后返回给,要请求的方法
     System.out.println("showUser执行了...");
     // 通过用户查询数据库(模拟)
     User user = new User();
     user.setUname(uname);
     user.setAge(20);
     user.setDate(new Date());
     return user;
     //这里的返回值会赋给 前端请求testModelAttribute方法的形参user
     }

基于 Map 的应用场景示例 1:ModelAttribute 修饰方法不带返回值

    /**
     * ModelAttribute注解
     * @return
     */
    @RequestMapping(value="/testModelAttribute")
    public String testModelAttribute(@ModelAttribute("abc") User user){
        System.out.println("testModelAttribute执行了...");
        System.out.println(user);
        return "success";
    }
    @ModelAttribute
    public void showUser(String uname, Map<String,User> map){
        System.out.println("showUsjaver执行了...");
        // 通过用户查询数据库(模拟)
        User user = new User();
        user.setUname(uname);
        user.setAge(20);
        user.setDate(new Date());
        map.put("abc",user);
    }

理解:这个注解虽然看着很烦,但只要理解他的功能就是完善前端传来的参数,给控制器处理。

7.SessionAttribute

使用说明

在这里插入图片描述
在这里插入图片描述

使用示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.RequestParam
  • 2. RequestBody
  • 3. PathVaribale
  • 4.RequestHeader
  • 5.CookieValue
  • 6.ModelAttribute
  • 7.SessionAttribute
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档