1. 引言
Spring MVC可以给控制器增加通知,在控制器方法的前后和异常发生时执行不同的处理,他们是@ControllerAdvice ,@InitBinder, @ExceptionHandler,@ModelAttribute
2. 常用的通知
- @ControllerAdvice: 定义一个控制器的通知类,注解类,允许定义一些关于增强控制器的各类通知和限定增强哪些控制器的功能
//注解在类上面
@ControllerAdvice(
//制定拦截的包
basePackages = {"..."}
//限定被标注的注解
annations = ...
)
public class ...{
}
- @InitBinder: 定义控制器参数绑定规则,注解方法,如转换规则、格式化等,他会在参数转换之前执行,可以通过这个注解的方法得到WebDataBinder对象。
- @ModelAttribute: 注解方法,在控制器方法执行前,对数据模型进行操作。
- @ExceptionHandler: 注解方法,定义控制器发生异常后的操作,可以拦截所有控制器发生的异常。
@ExceptionHandler(value = Exception.class)
public method...