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可以配合使用,