解决方法
在Spring Boot中,当存在多个全局异常处理器时,可以通过实现Ordered接口
或使用@Order注解
来指定它们的执行顺序。order越小,优先级越高。
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class CustomExceptionHandler implements HandlerExceptionResolver {
@Override
public ModelAndView resolveException(Exception ex) {
// 处理异常逻辑
return new ModelAndView("error");
}
}
使用@Order(Ordered.HIGHEST_PRECEDENCE)
注解将自定义的全局异常处理器设置为具有最高优先级。
确保Spring Boot应用程序中存在其他全局异常处理器(@ControllerAdvice注解的类
或实现HandlerExceptionResolver接口的类
)。