Spring 注解

一. 常用注解

1. @responseBody

  将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,

  需要注意的是,在使用此注解之后不会再走视图解析器,而是直接将数据写入到输入流中,它的效果等同于通过response对象输出指定格式的数据

二. 异常相关

1. @ControllerAdvice

  可以对控制器进行全局的配置。将作用在所有注解了@Controller 类中的@RequestMapping的控制器的方法上。

  此类中可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上。

2. @ExceptionHandler

  当与@Controller配合使用时,作用在当前类的@RequestMapping注解的方法上;

  当一个Controller中有多个@ExceptionHandler注解出现时,哪个异常与目标方法抛出的异常血缘关系越紧密,就会被哪个捕捉到;

  当与@ControllerAdvice配合使用时,作用在所有注解了@Controller类的@RequestMapping注解的方法上;

  当指定类型的方法抛出异常时,程序调用@ExceptionHandler注解的方法;

3. @InitBinder

  当与@Controller配合使用时,作用在当前类的@RequestMapping注解的方法上;

  当与@ControllerAdvice配合使用时,作用在所有注解了@Controller类的@RequestMapping注解的方法上;

  可以对 WebDataBinder 对象进行初始化,WebDataBinder 是 DataBinder 的子类,用于完成由表单字段到 JavaBean 属性的绑定。

4. @ModelAttribute

  当与@Controller配合使用时,作用在当前类的@RequestMapping注解的方法上;

  当与@ControllerAdvice配合使用时,作用在所有注解了@Controller类的@RequestMapping注解的方法上;

  在执行指定类型的方法之前,程序调用@ModelAttribute注解的方法,为Model对象设置属性;

5. @ResponseStatus

  此注解修饰的目标方法,无论它执行方法过程中有没有异常产生,用户都会得到异常的界面,而目标方法正常执行。

  @ResponseStatus和@ExceptionHandler可以配合使用,

原文地址:https://www.cnblogs.com/virgosnail/p/10049480.html