Spring MVC 注解之 @ControllerAdvice 实现全局异常处理

通常会在 @Controller 注解作用的类的方法上使用@ExceptionHandler,@ModelAttribute,@InitBinder来处理异常或初始化绑定,这三个注解对所用使用了 @RequestMapping 注解的控制器内的方法有效。

如果希望此类方法在全局范围内(跨控制器)应用,则可以在带有 @ControllerAdvice@RestControllerAdvice 注解的类中声明它们这三个注解。

@ControllerAdvice用于声明一个 控制器 建言,作用在类上,可以将控制器的全局配置统一放置在该注解作用的类里,结合在方法上使用 @ExceptionHandler 注解,就能实现全局的异常控制。

阅读更多