SpringMVC 常用注解

@Controller

  • 用于标注控制层组件
  • @Controller 用于标记在一个类上,使用它标记的类就是一个 SpringMVC Controller 对象,分发处理器将会扫描使用了该注解的类方法,并检测该方法是否使用了 @RequestMapping 注解
  • 可以把 Request 请求 header 部分的值绑定到方法参数上

@RestController

  • 相当于 @Controller@ResponseBody 的组合效果

@Component

  • 泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注

@Respository

  • 用于注解 dao 层,在 daoImpl 类上面注解

@Service

  • 用于注解业务组件

@ResponseBody

  • 异步请求
  • 该注解用于将 Controller 的方法返回的对象通过适当的 HttpMessageConverter 转换为指定格式后,写入到 Response 对象的 body 数据区
  • 返回的数据不是 html 标签的页面,而是其他某种格式的数据时(如json、xml)使用

@RequestMapping

  • 一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类的所有响应请求的方法都是以该地址作为父路径

@Autowired

  • 它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。通过 @Autowired 的使用来消除 setget 方法

@PathVariable

  • 用于将请求 URL 中的模板变量映射到功能处理方法的参数上,即取出 URL 模板中的变量作为参数

@RequestParam

  • 主要用于在 Spring MVC 后台控制层获取参数,类似的一种做法是: request.getParamter("name")

@RequestHeader

  • 可以把 request 请求 header 部分的值绑定到方法参数上

@SessionAttribute

  • 用来映射 HttpSession 中 attribute 对象的值,将值放到 session 作用域中,写在 class 上面

@Valid

  • 实体校验数据,可结合 hibernate validator 一起使用

@CookieValue

  • 用来获取 Cookies 的值

@ModelAttribute