美文网首页springbootJava之家
SpringMVC常用注解简单介绍

SpringMVC常用注解简单介绍

作者: 小小土豆dev | 来源:发表于2020-08-19 10:35 被阅读0次

    Spring框架常用注解简单介绍
    SpringMVC常用注解简单介绍
    SpringBoot(一)创建一个简单的SpringBoot工程
    SpringBoot(二)SpringBoot多环境配置
    SpringBoot(三)SpringBoot整合MyBatis
    SpringBoot(四)SpringBoot整合 Redis

    SpringMVC

    SpringMVC是Spring框架的一个模块,提供了web mvc , webviews , jsp等解决功能。

    @RequestMapping 注解介绍

    @RequestMapping用于建立请求URL和处理请求方法之间的对应关系。

    出现位置:可以写在类上,方法上

    1. 写在方法上:和请求url绑定
    2. 写在类上:给访问url进行窄化处理。可以让我们的url变成模块化的形式。

    属性:

    • value:用于指定访问url和访问方法之间的对应关系。他和path的作用是一样的。
    • method:用于指定请求方式
    • params:用于指定限制请求参数的条件。
    • headers:用于指定限制请求消息头的条件

    @RequestParam 注解介绍

    可以给请求字段另起一个名称,还可以给前端没有传递的参数赋默认值。

    <!-- RequestParam注解使用 -->
    <a href="account/testRequestParam?id=1" >测试RequestParam注解</a>
    
    @Controller("accountController")
    @RequestMapping("/account")
    public class AccountController {
    
        // 给请求字段另起一个名称
        @RequestMapping("/testRequestParam")
        public String testRequestParam(@RequestParam(value = "id", required = true) Integer accountId) {
            System.out.println("AccountController --- testRequestParam:" + accountId);
            return "success";
        }
    }
    

    @RequestBody 注解介绍

    可以获取请求body里的数据

    <!-- RequestBody注解使用 -->
    <form action="account/testRequestBody" method="POST">
        账户名称:<input type="text" name="name" ><br />
        账户金额:<input type="text" name="money" ><br />
        账户地址:<input type="text" name="address" ><br />
        <input type="submit" value="保存" />
    </form>
    
    @Controller("accountController")
    @RequestMapping("/account")
    public class AccountController {
    
        // 获取请求body里的数据
        @RequestMapping("/testRequestBody")
        public String testRequestBody(@RequestBody String body) {
            System.out.println("AccountController --- testRequestBody:" + body);
            return "success";
        }
    }
    

    @PathVaribale 注解介绍

    用于绑定url中的占位符。

    属性:
    value:用于指定占位符的名称
    required:是否必须提供占位符

    @Controller("accountController")
    @RequestMapping("/account")
    public class AccountController {
    
        // 用于绑定url中的占位符
        @RequestMapping("/testPathVaribale/{id}")
        public String testPathVaribale(@PathVariable(value = "id", required = true) Integer accountId) {
            System.out.println("AccountController --- testPathVaribale:" + accountId);
            return "success";
        }
    }
    

    @RequestHeader 注解介绍

    用于获取header里面的值

    @Controller("accountController")
    @RequestMapping("/account")
    public class AccountController {
    
        @RequestMapping("/testRequestHeader")
        public String testRequestHeader(@RequestHeader("Accept-Language") String header ) {
            System.out.println("AccountController --- testRequestHeader:" + header);
            return "success";
        }
    }
    

    @CookieValue 注解介绍

    用于获取cookie里的值
    value:用于指定cookie名称
    required:是否必须有此cookie

    @Controller("accountController")
    @RequestMapping("/account")
    public class AccountController {
    
        @RequestMapping("/testCookieValue")
        public String testCookieValue(@CookieValue(value = "JSESSIONID", required = true) String header) {
            System.out.println("AccountController --- testCookieValue:" + header);
            return "success";
        }
    }
    

    @ModelAttribute 注解介绍

    再当前类中的方法执行之前,会先执行被ModelAttribute修饰的方法

    @Controller("accountController")
    @RequestMapping("/account")
    public class AccountController {
    
        @RequestMapping("/testModelAttribute")
        public String testModelAttribute(User user) {
            System.out.println("AccountController --- testModelAttribute:" + user.toString());
            return "success";
        }
        
        @ModelAttribute
        public User testModelAttributeBefore() {
            // 模拟去数据库先查询用户的信息
            User user = new User();
            user.setNickname("dff");
            user.setPassword("111111");
            user.setUsername("是非得失方法");
            
            System.out.println("数据库中的用户信 --- " + user.toString());
            
            return user;
        }
    }
    

    相关文章

      网友评论

        本文标题:SpringMVC常用注解简单介绍

        本文链接:https://www.haomeiwen.com/subject/humgdktx.html