SpringMVC-常用的注解

1. RequestParam注解

把请求中的指定名称的参数传递给控制器中的形参赋值

  • value:请求参数中的名称
  • require:请求参数中是否必须提供此参数,默认值是true,必须提供

2. RequestBody注解

用于获取请求体的内容(注意:get方法不可以)

  • required:是否必须有请求体,默认值是true

3. RequestHeader注解

用于获取请求消息头

  • value:提供消息头名称
  • required:是否必须有此消息头
  • 在实际开发中一般不怎么用

4. PathVariable注解

拥有绑定url中的占位符的。例如:url中有/delete/{id},{id}就是占位符

  • value:指定url中的占位符名称
  • RESTful风格:把请求参数变成请求路径的一种风格

5. CookieValue注解

用于把指定 cookie 名称的值传入控制器方法参数

  • value:指定 cookie 的名称
  • required:是否必须有此 cookie

6. SessionAttribute注解

用于多次执行控制器方法间的参数共享

  • value:用于指定存入的属性名称

  • type:用于指定存入的数据类型

  • SpringMVC 将在Model中对应的属性暂存到 HttpSession 中

    • Model 是 spring 提供的一个接口,该接口有一个实现类 ExtendedModelMap
    • 该类继承了 ModelMap,而 ModelMap 就是 LinkedHashMap 子类

7. ModelAttribute注解

该注解是 SpringMVC4.3 版本以后新加入的。它可以用于修饰方法和参数

  • value:用于获取数据的 key。key 可以是 POJO 的属性名称,也可以是 map 结构的 key
  • 应用场景:当表单提交数据不是完整的实体类数据时,保证没有提交数据的字段使用数据库对象原来的数据
    1. ModelAttribute 修饰方法带返回值
    2. ModelAttribute 修饰方法无返回值