美文网首页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