Spring是Java生态中最流行的企业级框架,它为企业应用提供了全面的解决方案。
本文介绍了Spring框架的核心特性和使用方式,帮助你快速上手企业级开发。
Spring提供了对@ControllerAdvice注解的配置,我们可以通过配置@ControllerAdvice对指定的Exception拦截。
SpringMVC全局异常处理器
// 第一种
@RestControllerAdvice
public class GlobalExceptionHandler
{}
// 第二种
// basePackages 指定一个或多个包,这些包及其子包下的所有 Controller 都被该 @ControllerAdvice 管理。其中上面两种等价于 basePackages。
// basePackages
// @ControllerAdvice("cn.demo.controller")
// @ControllerAdvice(value = "cn.demo.controller")
@ControllerAdvice(basePackages = {"cn.demo.controller"})
public class GlobalExceptionHandler
{}
// 第三种
// basePackageClasses 指定一个或多个 Controller 类,这些类所属的包及其子包下的所有 Controller 都被该 @ControllerAdvice 管理。
@ControllerAdvice(basePackageClasses = {MyController.class})
public class GlobalExceptionHandler {}
// 第四种
// assignableTypes:指定一个或多个 Controller 类,这些类被该 @ControllerAdvice 管理。
@ControllerAdvice(assignableTypes = {MyController.class})
public class GlobalExceptionHandler {}
// 第五种
// annotations:指定一个或多个注解,被这些注解所标记的 Controller 会被该 @ControllerAdvice 管理。
@ControllerAdvice(annotations = {RestController.class})
public class GlobalExceptionHandler {}
2023/4/17大约 2 分钟