ControllerAdvice逻辑
时间: 2023-07-07 17:45:15 浏览: 108
CustomerControllerAdvice.java
ControllerAdvice 是 Spring 框架提供的一个注解,用于定义全局控制器异常处理器。它可以在应用程序中集中处理异常,避免在每个控制器中重复编写异常处理代码。
使用 ControllerAdvice 注解的类必须使用 @ExceptionHandler 注解来处理特定类型的异常。当控制器中抛出这种类型的异常时,ControllerAdvice 中的 @ExceptionHandler 方法将处理该异常。
例如:
```
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = Exception.class)
public ModelAndView handleException(Exception e) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("errorMsg", e.getMessage());
modelAndView.setViewName("error");
return modelAndView;
}
}
```
在上面的例子中,GlobalExceptionHandler 类使用 @ControllerAdvice 注解标注,并使用 @ExceptionHandler 注解来处理 Exception 类型的异常。当控制器中抛出 Exception 类型的异常时,handleException 方法将处理该异常,并返回一个包含错误信息的 ModelAndView 对象。
总之,使用 ControllerAdvice 注解可以使我们在应用程序中集中处理异常,减少代码重复,提高代码复用性和可维护性。
阅读全文