当前位置: 首页 > news >正文

【Spring Boot 3】【Web】全局异常处理

【Spring Boot 3】【Web】全局异常处理

  • 背景
  • 介绍
  • 开发环境
  • 开发步骤及源码
  • 工程目录结构
  • 总结

背景

软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花费或多或少的时间、检索不止一篇资料才能得出一个可工作的DEMO,这占用了我大量的时间精力。因此本文旨在通过一篇文章即能还原出可工作的、甚至可用于生产的DEMO,期望初学者能尽快地迈过0到1的这一步骤,并在此基础上不断深化对相关知识的理解。
为达以上目的,本文会将开发环境、工程目录结构、开发步骤及源码尽量全面地展现出来,文字描述能简则简,能用代码注释的绝不在正文中再啰嗦一遍,正文仅对必要且关键的信息做重点描述。

介绍

本文介绍开发 Spring Boot Web 应用时如何捕获和处理全局异常。

结合使用 @ControllerAdvice(或 @RestControllerAdvice)和 @ExceptionHandler 可以拦截处理指定 Controller 中的指定异常。

开发环境

分类名称版本
操作系统WindowsWindows 11
JDKOracle JDK21.0.1
IDEIntelliJ IDEA2023.3.7
构建工具Apache Maven3.9.9

开发步骤及源码

1> 创建Maven工程,添加依赖。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.jiyongliang</groupId><artifactId>springboot3-web</artifactId><version>0.0.1</version></parent><artifactId>springboot3-web-global-exception</artifactId><properties><java.version>21</java.version><maven.compiler.source&

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 安卓开发环境搭建1
  • 在使用React Hooks中,如何避免状态更新时的性能问题?
  • 3.Redis高级特性和应用(慢查询、Pipeline、事务、Lua、限流原理)
  • 笔记 12 : 彭老师课本第 6 章, PWM ,代码实践
  • 位图 —— 哈希思想的产物
  • 网站开发:XTML+CSS - 网页文档结构
  • 【代码随想录训练营第42期 Day46打卡 - 回文问题 - LeetCode 647. 回文子串 516.最长回文子序列
  • 革命性架构:如何用命令模式彻底革新手游后端设计
  • mysql 修改用户密码
  • C++:类和对象(二)
  • 顶级 SSD 硬盘数据恢复工具探讨:最佳 SSD 硬盘数据有哪些
  • web渗透:XXE漏洞
  • python(9) : docker方式运行python程序(自启动,守护)
  • Flutter中组件动态可见的实现
  • 智慧校园”的系统设计数据库
  • js面向对象
  • leetcode388. Longest Absolute File Path
  • mysql_config not found
  • Python_OOP
  • react 代码优化(一) ——事件处理
  • Sass 快速入门教程
  • 分布式事物理论与实践
  • 检测对象或数组
  • 离散点最小(凸)包围边界查找
  • 移动端唤起键盘时取消position:fixed定位
  • 转载:[译] 内容加速黑科技趣谈
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​​​【收录 Hello 算法】10.4 哈希优化策略
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​一些不规范的GTID使用场景
  • # Redis 入门到精通(七)-- redis 删除策略
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • # 利刃出鞘_Tomcat 核心原理解析(二)
  • #includecmath
  • #考研#计算机文化知识1(局域网及网络互联)
  • $ git push -u origin master 推送到远程库出错
  • (C++哈希表01)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (十三)Maven插件解析运行机制
  • (四)Linux Shell编程——输入输出重定向
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (转) ns2/nam与nam实现相关的文件
  • .chm格式文件如何阅读
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .Net Core 微服务之Consul(三)-KV存储分布式锁
  • .net 流——流的类型体系简单介绍
  • .net 中viewstate的原理和使用
  • .NET编程——利用C#调用海康机器人工业相机SDK实现回调取图与软触发取图【含免费源码】
  • .Net高阶异常处理第二篇~~ dump进阶之MiniDumpWriter
  • .NET开发者必备的11款免费工具
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .NET学习教程二——.net基础定义+VS常用设置
  • //解决validator验证插件多个name相同只验证第一的问题