Spring boot 异常配置

SpringBoot全局异常处理+Slf4j日志文件配置 做任何事情都要用心,要非常关注细节。看起来不起眼的、繁琐的工作做透了会有意想不到的价值。当然要想成为一个技术大牛也需要一定的思想格局,思想决定未来你要往哪个方向去走, 建议多看一些人生规划方面的书籍,多学习名人的思想格局,未来你的路会走的更远。更多的技术点思维导图我已经做了一个整理,涵盖了当下互联网最流行99%的技术点,在这里我将这份导图分享出来,以及为金九银十准备的一整套面试体系,上到集合,下到分布式微服务《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》 阅读详情

Spring boot 异常配置

上一节 Spring boot 参数校验

Spring boot 参数校验

源码

springboot学习指南


直接上代码。。。

1.通过ExceptionHandler 处理控制器异常

1. 局部异常处理
在controller中通过注解@ExceptionHandler 修饰控制器的方法,即可处理本控制器的异常信息;
属性value 指定处理那些异常

@RestController
@RequestMapping("ex")
@Api(tags = {"测试局部异常处理"})
public class TestPartExceptionContorller {

    @GetMapping("ex3")
    @ApiOperation(value = "测试局部异常处理", httpMethod = "GET")
    public void testPartException() throws Exception {
        int i = 1 / 0; // 模拟程序报错
    }

    /*局部异常处理,只处理当前controller的异常信息*/
    @ExceptionHandler(value = {Exception.class})
    public ResponseEntity<ResultBean<Void>> handlerPartException(HttpServletRequest request, HttpServletResponse response, Exception e) {
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
                .body(ResultBean.result(HttpStatus.INTERNAL_SERVER_ERROR));
    }

}

当 请求 访问到testPartException方法时报错后,我们在handlerPartException 指定了处理Exception的异常,所以报错Exception以及子类异常都会走异常处理方法。

通过@ExceptionHandler 和@RestControllerAdvice (或者@ControllerAdvice) 做全局异常处理

全局默认异常处理

@RestControllerAdvice
public class GlobalExceptionHandler {
    /*默认异常处理*/
    @ExceptionHandler(value = {Exception.class})
    public ResultBean<Void> defExceptionHandler(HttpServletRequest request, HttpServletResponse response, Exception e, HandlerMethod method) throws Exception {
        String message = e.getMessage();
        log.error("error -- message = " + message, e);
        return ResultBean.error(HttpStatus.INTERNAL_SERVER_ERROR.value(), message);
    }
    ...

通过@RestControllerAdvice 指定本类为异常处理类,另@RestControllerAdvice 的value 或者basePackages 属性可以指定具体那个包下控制器;

方法defExceptionHandler为默认异常处理(因为我们指定了Exception,异常类的基类),如果程序报异常会找到指定的ControllerAdvice中的 标注了@ExceptionHandler方法有哪些能够处理改异常的方法,若没有完全匹配的则找父类一级一级想上找;最终肯定就会找到 Exception 匹配的方法处理。

上一章节 Spring boot 参数校验; 我们进行了参数校验的学习;但是返回的信息不太友好;我们这章通过全局异常处理对校验后的异常进行处理封装,同时也熟悉了全局异常处理的使用方式。

参数校验异常处理

处理MethodArgumentNotValidException 和 ConstraintViolationException 异常信息
这两个异常会在参数校验出错的时候抛出;
MethodArgumentNotValidException: 是实体bean校验出错
ConstraintViolationException: 是基本参数类型(包括string) 校验出错

   /*valid 参数校验异常处理*/
    //MethodArgumentNotValidException  ConstraintViolationException
    @ExceptionHandler(value = {ConstraintViolationException.class, MethodArgumentNotValidException.class})
    public ResponseEntity<ResultBean<Void>> constraintValidatedExceptionHandler(HttpServletRequest request, Exception e, HandlerMethod method) {
        ResponseEntity.BodyBuilder responseEntityBuilder = ResponseEntity.badRequest();
        ResultBean<Void> resultBean = ResultBean.result(HttpStatus.BAD_REQUEST);
        StringJoiner stringJoiner = new StringJoiner(";", "异常信息{ ", " }");
        if (e instanceof ConstraintViolationException) {
            ConstraintViolationException constraintViolationException = (ConstraintViolationException) e;
            Optional.ofNullable(constraintViolationException.getConstraintViolations()).orElseGet(HashSet::new)
                    .forEach(v -> {
                        String message = v.getMessage();
                        PathImpl propertyPath = (PathImpl) v.getPropertyPath();
                        String s = propertyPath.getLeafNode().asString();
                        stringJoiner.add(s + ": " + message);
                    });
        }
        if (e instanceof MethodArgumentNotValidException) {
            MethodArgumentNotValidException methodArgumentNotValidException = (MethodArgumentNotValidException) e;
            List<FieldError> fieldErrors = methodArgumentNotValidException.getBindingResult().getFieldErrors();
            Optional.ofNullable(fieldErrors).orElseGet(ArrayList::new).forEach(v -> {
                String field = v.getField();
                String defaultMessage = v.getDefaultMessage();
                stringJoiner.add(field + ": " + defaultMessage);
            });
        }
        resultBean.setMsg(stringJoiner.toString());
        return responseEntityBuilder.body(resultBean);
    }

我们还是使用swagger 进行http调用请求;

请求获取商品详情; 指定了id 的长度

    @ApiOperation(value = "获取商品详情", httpMethod = "GET")
    @GetMapping("product")
    public Product getProduct(@Length(max = 32, min = 32) @RequestParam String id) throws Exception {
        Product product = new Product();
        product.setId(id);
        product.setName("xiaomi 11");
        product.setPrice(199900L);
        return product;
    }

通过swagger 请求;
指定id 为11 不满足参数校验; 不满足会 报异常ConstraintViolationException
在这里插入图片描述
返回信息
code 为400; msg 也是我们封装的信息
在这里插入图片描述
请求添加商品信息
对Product 进行了参数校验;

Product

@ApiModel(description = "商品详情")
public class Product {

   @ApiModelProperty(required = true, value = "商品名称")
   @NotBlank
   @Length(min = 1, max = 500)
   private String name;

   @ApiModelProperty(required = true, value = "商品id")
   @NotBlank
   @Length(max = 32, min = 32)
   private String id;

   @ApiModelProperty(required = true, value = "商品价格,以分为单位", dataType = "java.lang.Long", example = "1000")
   @Max(Integer.MAX_VALUE)
   @Min(0)
   private Long price;

   @ApiModelProperty(required =  true, value = "生产日期", dataType = "date")
   @NotNull
   private Date pdTime;

请求方法

    @ApiOperation(value = "添加商品信息", httpMethod = "POST")
    @PostMapping("product")
    public String addProduct(@Validated @RequestBody Product product) throws Exception {
        return product.getId();
    }

swagger 访问,还是让id的长度不够32; 对java bean的校验这里会报错 MethodArgumentNotValidException 异常
在这里插入图片描述
返回信息
在这里插入图片描述

处理HttpMessageNotReadableException 异常
也是属请求参数的异常信息;当参数类型不对或者解析出错时 会报错HttpMessageNotReadableException; 例如 String转 Integer 传入的参数不是数字,还有Date类型format出错;

  /*参数转换异常处理*/
    @ExceptionHandler(value = {HttpMessageNotReadableException.class})
    @ResponseStatus(HttpStatus.BAD_REQUEST)
    public HttpEntity<ResultBean<Void>> methodArgumentNotValidExceptionHandler(HttpServletRequest request, HttpMessageNotReadableException e, HandlerMethod method) {
        String localizedMessage = e.getLocalizedMessage();
        ResultBean<Void> resultBean = ResultBean.result(HttpStatus.BAD_REQUEST);
        HttpEntity<ResultBean<Void>> httpEntity = new HttpEntity(resultBean);
        if (localizedMessage.startsWith("JSON parse error")) {
            String through_reference_chain = localizedMessage.substring(localizedMessage.lastIndexOf("through reference chain"));
            String field = through_reference_chain.substring(through_reference_chain.lastIndexOf("[\"") + 2, through_reference_chain.lastIndexOf("\"]"));
            resultBean.setMsg("参数解析出错!请检测参数: " + field);
        }
        return httpEntity;
    }

如上我们还可以通过 @ResponseStatus 指定 http状态码;

swagger 访问我们把日期格式输入错误; pdTime 默认格式应该为 yyyy-MM-dd HH:mm:ss.SSS格式;我们使用yyyy/MM/dd格式传输;
在这里插入图片描述
返回信息
在这里插入图片描述

自定义异常处理

创建业务异常类BusinessException; 处理自定义异常BusinessException

    /*自定义异常处理*/
    @ExceptionHandler(value = {BusinessException.class})
    public void businessExceptionHandler(HttpServletRequest request, HttpServletResponse response, BusinessException e, HandlerMethod method) throws IOException {
        log.error("异常处理: businessException;\n【 远端请求地址:{}; 请求URI:{};" +
                        "\n 请求方法:{}; error message:{}】",
                request.getRemoteHost(), request.getRequestURI(),
                method.getMethod().getName(), e.getLocalizedMessage());
        response.getWriter().write(new ObjectMapper().writeValueAsString(ResultBean.error(e.getCode(), e.getMsg())));
    }

请求方法访问,抛出一个 BusinessException 异常

    @GetMapping("ex")
    @ApiOperation(value = "测试自定义异常处理", httpMethod = "GET")
    public Object testMyException(@RequestParam(required = false) @ApiParam(name = "str", value = "str") String str) throws Exception {
        throw new BusinessException("test businessException", 5001);
    }

swagger 访问;处理自定义异常; 略。。。
总结
上面的示例基本包含了常用的处理方式,@ExceptionHandler 修饰的方法 我们可以返回一个具体的ReusltBean; 或者一个HttpEntity 以及 ResponseEntity; 甚至一个void;


2.通过继承ResponseEntityExceptionHandler 进行全局异常处理

@RestControllerAdvice
public class GlobalExHandler extends ResponseEntityExceptionHandler {

    @Override
    protected ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex, HttpHeaders headers, HttpStatus status, WebRequest request) {
        ...
    }

    @Override
    protected ResponseEntity<Object> handleHttpMessageNotReadable(HttpMessageNotReadableException ex, HttpHeaders headers, HttpStatus status, WebRequest request) {
        ...
    }

    @Override
    protected ResponseEntity<Object> handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException ex, HttpHeaders headers, HttpStatus status, WebRequest request) {
     ...
    }
    ...
}

ResponseEntityExceptionHandler中的handleException 处理大部分的异常进行;也是通过 @ExcepitonHandler

	@ExceptionHandler({
			HttpRequestMethodNotSupportedException.class,
			HttpMediaTypeNotSupportedException.class,
			HttpMediaTypeNotAcceptableException.class,
			MissingPathVariableException.class,
			MissingServletRequestParameterException.class,
			ServletRequestBindingException.class,
			ConversionNotSupportedException.class,
			TypeMismatchException.class,
			HttpMessageNotReadableException.class,
			HttpMessageNotWritableException.class,
			MethodArgumentNotValidException.class,
			MissingServletRequestPartException.class,
			BindException.class,
			NoHandlerFoundException.class,
			AsyncRequestTimeoutException.class
		})
	@Nullable
	public final ResponseEntity<Object> handleException(Exception ex, WebRequest request) throws Exception {
	...

所以继承该类 重新指定异常方法即可~


下一节 Spring boot lombok

Spring boot lombok

如何在Spring Boot应用中配置全局异常处理器? 通过以上步骤,就可以在 Spring Boot 应用中配置全局异常处理器,统一处理应用中可能出现的各种异常,提高应用的稳定性和可维护性。在这个方法中,可以根据不同的异常类型返回不同的响应内容,也可以进行日志记录等操作。注解,这个注解表示该类是一个全局的控制器增强类,用于处理控制器中抛出的异常。如果有自定义的异常,可以专门为其创建处理方法。例如,假设存在一个自定义异常。注解来指定要处理的异常类型。 阅读详情

相关推荐

Spring Boot 整合——RabbitMQ配置消息确认回调、消息转换以及消息异常处理

消息回调 消息队列在实际运用中,作为消息的生产者,很多时候我们需要确认消息是否成功发送到了mq中。同时我们还需要知道,假如消息出现异常时的异常情况。为了满足这个业务场景,我们就需要配置消息回调。 开启消息回调 为了保证消息生产者能够收到消息的回调信息,我么需要修改以下配置,只有添加了下面的配置,才能保证添加相关代码后可以收到系统的回复。 spring: rabbitmq: # 开启发送...

大风的博客 1万+

SpringBoot中四种异常处理的方式

SpringBoot 默认的异常处理机制:一旦程序中出现了异常 SpringBoot 就会请求 /error 的 url。在 SpringBoot 中提供了一个叫 BasicExceptionController 来处理 /error 请求,它会跳转到默认显示异常的页面来展示异常信息。不过我们可以在 resources/templates/ 内添加 error 页面来自定义异常页面,名字和路径不能更改,因为BasicExceptionController 默认跳转到这此路径。

yu的博客 1997

SpringBoot处理全局异常详解(全面详细+Gitee源码)

我们对常见的七种异常情况统一进行处理,这次的主角就是@RestControllerAdvice这个注解,这个一个组合注解由@ControllerAdvice和@ResponseBody组成,@RestControllerAdvice会帮助我们把信息转成json格式返回。在全局异常处理类只需要在类上标注@RestControllerAdvice,并在处理相应异常的方法上使用@ExceptionHandler注解,写明处理哪个异常即可。注:异常的拦截有顺序,子类异常会优先匹配子类异常处理器。

黄团团的个人博客 2904

SpringBoot统一异常处理详解

Spring Boot后端接口规范Spring在3.2版本增加了一个注解,可以与、、等注解注解配套使用。不过跟异常处理相关的只有注解,从字面上看,就是异常处理器的意思**Assert(断言)**是Spring 家族的,在我们写测试用例的时候经常会用到,使用断言能让我们编码的时候有一种非一般丝滑的感觉Assert的部分源码,可以看到,Assert 其实就是帮我们把 if {…} 封装了一下,抛出的异常是} } }

Shawn的个人博客 1万+

解决Spring Boot启动异常:未配置数据源的问题

在本文中,我们解决了Spring Boot启动过程中的数据源配置异常问题。我们通过添加数据库依赖并配置正确的数据源信息,成功解决了启动异常。请注意,在实际开发中,你可能需要根据自己的具体情况进行适当的调整和修改。在使用Spring Boot开发Java应用程序时,经常会遇到启动过程中的异常情况。其中一个常见的问题是未配置数据源,导致应用程序无法正常启动。这个异常信息表明在启动应用程序时,Spring Boot无法找到可用的数据源配置。这次应该能成功启动,并且不再出现数据源配置的异常。步骤3:启动应用程序。

TechRoar的博客 1276

ESP8266+ITR8307实战:如何用反射式光电管实现5cm远距离检测(附避坑指南)

本文详细介绍了如何利用ESP8266的ADC功能与ITR8307反射式光电管,通过调制解调、硬件电路优化及软件同步采样策略,实现5cm稳定远距离检测。文章提供了完整的硬件设计、代码实现与调优避坑指南,有效解决了环境光干扰与信号衰减难题,适用于智能车、自动化等需要可靠非接触检测的项目。

rgv234567的博客 262

SpringBoot异常处理

SpringBoot默认的异常处理机制springboot默认提供了一套处理异常的机制。一旦程序出现了异常,SpringBoot会向/error的url发送请求。在springboot中提供了一个叫BasicErrorController来处理/error请求,然后跳转到默认显示异常的页面来展示异常信息。如果我们需要将所有的异常统一跳转到自定义的错误页面,需要再/**/***自定义异常类,继承RuntimeException。......

Linging_24的博客 4838

Unity 机械臂控制(二)——从碰撞检测到姿态解算:实现精准抓取

本文详细介绍了Unity中机械臂控制的实现方法,从碰撞检测到姿态解算,涵盖精准抓取的全流程。重点讲解了碰撞检测的分层处理、状态机设计、逆向运动学(IK)算法以及抓取稳定性优化等关键技术,并提供了实用的调试技巧和性能优化建议,帮助开发者实现高效的机械臂控制。

weixin_28693447的博客 304

Spring Boot 配置 logback 实现【异常发送邮件提醒】

Spring Boot 学习笔记(三十九):Spring Boot 配置 logback 来实现异常发送邮件功能

扛麻袋的少年的博客 2567

【机械视觉】Halcon—【二、Halcon算子全面介绍(超详细版)】

Halcon 的算子(operators)按照功能被系统性地划分为多个类别,官方文档中目前(Halcon 22.11 版本)共有 19 个主分类,每个主分类下还有若干子分类。 本人在此对这19个分类的常用核心算子进行了一系列的总结,且本人在文章最后还总结了一些案例经验。 注意: ​​​​​​​跨分类调用:某些算子可能在多个分类中,但官方文档中会明确其主分类。 例如: read_image(文件操作)常被其他分类(如图像处理)的示例调用,但其核心功能是文件读取。

qq_3517289697的博客 3912

Xilinx ISE系列教程(2):LED点灯工程、仿真、bit下载和mcs固化

bit流生成配置选项很多,支持生成bit/bin/ascii格式的bin文件,是否压缩,配置速度,配置管脚的上下拉,用户ID,数据加载速度,SPI总线宽度,是否支持Readback,程序加密等等。,在之后的文章,我们会以Xilinx Spartan-6系列FPGA XC6SLX16为例,不涉及FPGA开发知识,仅仅是工具的使用,介绍Xilinx ISE开发环境的使用教程和使用技巧。bit文件下载之后,可以看到LED按照我们设计的1s周期闪烁起来了,但是此时如果断电,重新上电程序就丢失了。...

whik1194的博客 2277

Spring Boot 错误页配置和全局异常处理

一、错误页配置 1.1 错误页控制器 package com.siniswift.efb.acars.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; /** * 错误页控制器 * * @a...

AaronSimon的博客 1323

Steam崩溃:ntdll.dll报错0xc0000374...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1156

Spring Boot 实现邮件发送功能:基于 QQ 邮箱配置与异常通知

在开发中,我们经常需要通过邮件发送通知,例如程序异常、注册验证等。本文将介绍如何使用 **Spring Boot** 配置 **QQ 邮箱** 进行邮件发送,并通过 **全局异常处理** 实现自动邮件通知功能。

haoshenwan的博客 3005

【EPS精品教程】EPS2016三维测图版安装教程(附EPS2016安装包下载地址)

EPS地理信息工作站是北京清华山维新技术开发有限公司历经十五年精心研发和打造,为满足“以地理信息服务为中心”的信息化测绘生产需求而推出的测绘生产活动多种业务模块集成化软件系统。主要功能有:(1)测绘与地理信息多业务模块集成管理;(2)多元多尺度多种类数据集成管理;(3)跨平台异构数据转换;(4)数据监理;(5)自动缩编与综合;(6)坐标转换与动态投影;(7)地理信息模板定制;(8)GIS地理信息描述与CAD图形表达一体化支持;(9)GIS数据库更新维护;(10)图形打印与地图出版。 一、安装过程 EP..

智慧空间实验室 2万+

用 ABAP LSMW 的 Standard Batch / Direct Input 稳准快迁移物料主数据:从 MM01 录制到 RMDATIND 直入的落地指南

本文详细介绍了SAP数据迁移中LSMW工具的使用方法,重点分析了物料主数据迁移的两种主要路径:Batch Input Recording和Standard Batch/Direct Input。前者通过录制事务操作实现快速起步,后者通过调用预置接口程序实现稳定高效的批量处理。文章深入解析了Standard Direct Input的具体实施步骤,包括对象属性设置、源结构定义、字段映射规则等关键环节,并特别强调了迁移前的准备工作(如编号策略、视图策略等)对项目成功的重要性。通过对比两种方法的优缺点,为不同业务

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 151

spring boot下统一异常处理+log4j日志配置

日志配置:    pom文件导入:&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter&lt;/artifactId&gt; &lt;exclusions&gt; &lt;exclusion&gt;

zldzs的博客 2153

嵌入式视频应用开发者必读:嵌入式Linux+FFmpeg硬件编解码实战指南

在嵌入式Linux上,FFmpeg支持多种硬件加速API,比如VAAPI、VDPAU、CUDA,以及针对特定平台的专用接口(如NVIDIA的NVENC、Intel的QSV、ARM的Mali)。FFmpeg的硬件解码通过-hwaccel参数启用,咱们以常见的H.264和HEVC(H.265)格式为例,展示如何用VAAPI和V4L2实现高效解码。: FFmpeg硬件加速需要额外的库,比如libva(VAAPI)、libv4l2(V4L2)或libnvcodec(CUDA)。

大模型大数据攻城狮的专栏 2201

Spring boot 数据源未配置异常

问题 在使Springboot自动生成的项目框架时如果选择了数据源,比如选择了mysql,生成项目之后,启动会报一下异常: Description: Cannot determine embedded database driver class for database type NONE Action: If you want an embedded database please put...

weixin_34352005的博客 276

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Spring Boot + MyBatis Plus + Dynamic Datasource 多数据源配置异常

所以这是个“幽灵”报错,我开始意识到我排错方向出现了问题,于是复原了刚刚的所有改动,回到了最初始的报错。我注意到建议行动里有一条**“如果你想要一个嵌入式数据库(H2、HSQL或Derby),请将其放在类路径上”**,我配置的是MySQL而非嵌入式数据库,在我的pom文件里也没有引入嵌入式数据库的依赖,那么为什么它会认为我想要使用嵌入式数据库呢?那为什么我配对了,但它觉得我没配呢?)没有生效,所以Spring Boot默认会退回去尝试使用嵌入式数据库,但发现我没加这些依赖,就报错了。才能激活动态数据源。

oxybabe的代码世界 938

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Spring Boot 实战指南(一):入门、配置、Web、文件上传、异常页面

spring boot实战指南(一):入门、配置、Web、文件上传、异常页面

TracyCoder的博客 615

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

全局配置_配置全局异常处理,结果没有想到,spring boot实践(3)

01 spring boot读取配置信息02 多环境配置这个功能详细大家在项目中也经常遇到,通常我们在写controller的时候会定义一个全局的异常处理。任何的controller出现异常都会进入到这个全局异常统一抛出,同时我们也可以定义一个自定义的异常类来处理一些特殊的异常,例如:权限异常。今天我们来看看,如何在spring boot 中配置全局异常和自定义异常。全局异常先建立一个except...

weixin_42449339的博客 98

spring boot logback配置异常发送邮件

spring boot logback配置异常发送邮件 最近在做小程序项目,自行创建的springboot框架,完成以后决定加入一个发生异常自动发送邮件的功能,遂百度中查阅,谁知坑很深,很简单的配置几番尝试最终才搞定.现将自己整理的超简单方法分享,希望能够帮助到正在研究此项功能的同行. 1.由于springboot自带了logback等jar包 所以基于springboot框架想实现此功能只需要导...

weixin_43707281的博客 1264

spring boot 配置freemarker 异常处理

忽略异常配置:spring.freemarker.settings.template_exception_handler=ignore 自定义类处理异常:spring.freemarker.settings.template_exception_handler=com.hsh.core.FreemarkerExceptionHandler

tang1988911的专栏 4601
上一篇: Spring boot 参数校验
下一篇: Spring boot Lombok
xiaoduup
博客等级 码龄9年 23粉丝 83原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值