zoukankan      html  css  js  c++  java
  • spring boot--全局异常监听

    前言

      在阅读这篇文章之前,你可能需要对spring boot 的拦截器和过滤器进行一些了解,这篇文章是我见过最好的spring boot拦截器(filter)和过滤器(interceptor)详解及使用场景

    代码

      定义全局异常处理类

    @RestControllerAdvice //此注解用于定义@ExceptionHandler,@InitBinder和@ModelAttribute方法
    public class ErrorHandler {
        @ExceptionHandler(value = {Exception.class}) //ExceptionHandler注解,声明此方法为全局异常处理函数
        public Object exceptionHandler(HttpServletRequest request, Exception e) {
            return "我还是执行了吗?异常捕捉程序";
        }
    
    }

    描述

      @RestControllerAdvice 是什么

        @RestControllerAdvice是一个组合注解,由@ControllerAdvice@ResponseBody组成,而@ControllerAdvice继承了@Component,因此@RestControllerAdvice本质上是个Component,用于定义@ExceptionHandler,@InitBinder和@ModelAttribute方法,适用于所有使用@RequestMapping方法。
      

      @RestControllerAdvice的特点:

    1.     @ControllerAdvice注解可以将对于控制器的全局配置放在同一个位置。
    2.  @RestControllerAdvice注解的类的方法可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上。
    3.     @RestControllerAdvice注解将作用在所有注解了@RequestMapping的控制器的方法上。
    4.     @ExceptionHandler用于指定异常处理方法。当与@RestControllerAdvice配合使用时,用于全局处理控制器里的异常。
    5.     @InitBinder用来设置WebDataBinder,用于自动绑定前台请求参数到Model中。
    6.     @ModelAttribute本来作用是绑定键值对到Model中,当与@ControllerAdvice配合使用时,可以让全局的@RequestMapping都能获得在此处设置的键值对
  • 相关阅读:
    Ubuntu下Nginx与Apache2修改默认端口号
    Kerbernetes的Pod资源管理进阶
    Kerbernetes的Pod资源管理
    Kerbernetes的Pod资源清单配置基础
    kubernetes快速入门
    K8S镜像下载报错解决方案(使用阿里云镜像去下载kubeadm需要的镜像文件)
    CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
    8
    7
    6
  • 原文地址:https://www.cnblogs.com/wrhbk/p/15161680.html
Copyright © 2011-2022 走看看