Spring Boot全局异常处理解析

发布时间 - 2026-01-11 01:55:16    点击率:

本文为大家分享了Spring Boot全局异常处理,供大家参考,具体内容如下

1、后台处理异常

a、引入thymeleaf依赖

<!-- thymeleaf模板插件 -->
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

b、在application.properties文件中设置属性

#关闭thymeleaf模板的缓存
spring.thymeleaf.cache=false 

c、编写后台处理Handler  

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

@ControllerAdvice
public class GlobalExceptionHandler {

  //设置此handler处理所有异常
 @ExceptionHandler(value=Exception.class)
 public void defaultErrorHandler(){
 System.out.println("-------------default error");
 }
}


d、后台异常打印

-------------default error
2017-06-16 14:54:05.314  WARN 6892 --- [nio-8080-exec-1] .m.m.a.ExceptionHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.dao.IncorrectResultSizeDataAccessException: result returns more than one elements; nested exception is javax.persistence.NonUniqueResultException: result returns more than one elements

2、页面处理异常

a、编写html模板页面 

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" 
  xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
<meta charset="UTF-8" />
<title>Insert title here</title>
</head>
<body>
 <h1 th:inlines="text">异常出现啦</h1>
 ${messages}
</body>
</html>

b、修改Handler

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

@ControllerAdvice
public class GlobalExceptionHandler {

 @ExceptionHandler(value=Exception.class)
 @ResponseBody
 public String defaultErrorHandler(){
  System.out.println("-------------default error");
  return "系统错误,请联系管理员";
 }
}

c、页面访问结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Spring  # Boot  # 异常处理  # Spring Boot处理全局统一异常的两种方法与区别  # SpringBoot实现全局异常处理方法总结  # SpringBoot如何优雅的处理全局异常  # springboot全局异常处理详解  # spring boot教程之全局处理异常封装  # Java后端Spring Boot全局异常处理最佳实践记录  # 请联系  # 大家分享  # 具体内容  # 大家多多  # GlobalExceptionHandler  # public  # ExceptionHandler  # void  # Exception  # handler  # web  # import 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript模板引擎Template.js使用详解  教学论文网站制作软件有哪些,写论文用什么软件 ?  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  如何生成腾讯云建站专用兑换码?  Laravel中的withCount方法怎么高效统计关联模型数量  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  详解jQuery中的事件  Android 常见的图片加载框架详细介绍  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  nginx修改上传文件大小限制的方法  智能起名网站制作软件有哪些,制作logo的软件?  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  在Oracle关闭情况下如何修改spfile的参数  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  如何自定义建站之星模板颜色并下载新样式?  如何做网站制作流程,*游戏网站怎么搭建?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  利用python获取某年中每个月的第一天和最后一天  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  如何为不同团队 ID 动态生成多个独立按钮  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  微信小程序 五星评分(包括半颗星评分)实例代码  如何在宝塔面板中创建新站点?  SQL查询语句优化的实用方法总结  简单实现jsp分页  5种Android数据存储方式汇总  微信推文制作网站有哪些,怎么做微信推文,急?  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  微信小程序 HTTPS报错整理常见问题及解决方案  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  北京的网站制作公司有哪些,哪个视频网站最好?  EditPlus中的正则表达式实战(5)  如何用y主机助手快速搭建网站?  如何批量查询域名的建站时间记录?  Laravel安装步骤详细教程_Laravel环境搭建指南  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  原生JS实现图片轮播切换效果  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  微信公众帐号开发教程之图文消息全攻略  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel如何保护应用免受CSRF攻击?(原理和示例)