SpringBoot2中如何配置系统全局异常映射处理
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章给大家分享的是有关SpringBoot2中如何配置系统全局异常映射处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、异常分类这里的异常分类从系统处理异常的角度看
千家信息网最后更新 2026年11月04日SpringBoot2中如何配置系统全局异常映射处理
这篇文章给大家分享的是有关SpringBoot2中如何配置系统全局异常映射处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一、异常分类
这里的异常分类从系统处理异常的角度看,主要分类两类:业务异常和系统异常。
1、业务异常
业务异常主要是一些可预见性异常,处理业务异常,用来提示用户的操作,提高系统的可操作性。
常见的业务异常提示:
1)请输入xxx
2)xxx不能为空
3)xxx重复,请更换
2、系统异常
系统异常主要是一些不可预见性异常,处理系统异常,可以让展示出一个友好的用户界面,不易给用户造成反感。如果是一个金融类系统,在用户界面出现一个系统异常的崩溃界面,很有可能直接导致用户流失。
常见的系统异常提示:
1)页面丢失404
2)服务器异常500
二、解决应用启动后404界面

1、引入页面Jar包
org.springframework.boot spring-boot-starter-thymeleaf
2、自定义首页接口
import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;@Controllerpublic class IndexController { @RequestMapping("/") public String index(ModelMap modelMap) { modelMap.addAttribute("name","知了一笑") ; return "index"; }}3、首页界面
4、运行效果
三、SpringBoot2.0中异常处理
1、项目结构图
2、自定义业务异常类
public class ServiceException extends Exception { public ServiceException (String msg){ super(msg); }}3、自定义异常描述对象
public class ReturnException { // 响应码 private Integer code; // 异常描述 private String msg; // 请求的Url private String url; // 省略 get set 方法}4、统一异常处理格式
1)两个基础注解
@ControllerAdvice 定义统一的异常处理类
@ExceptionHandler 定义异常类型对应的处理方式
2)代码实现
import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest;@ControllerAdvice// 异常以Json格式返回 等同 ExceptionHandler + ResponseBody 注解// @RestControllerAdvicepublic class HandlerException { /** * 自定义业务异常映射,返回JSON格式提示 */ @ExceptionHandler(value = ServiceException.class) @ResponseBody public ReturnException handler01 (HttpServletRequest request,ServiceException e){ ReturnException returnException = new ReturnException() ; returnException.setCode(600); returnException.setMsg(e.getMessage()); returnException.setUrl(String.valueOf(request.getRequestURL())); return returnException ; } /** * 服务异常 */ @ExceptionHandler(value = Exception.class) public ModelAndView handler02 (HttpServletRequest request,Exception e){ ModelAndView modelAndView = new ModelAndView() ; modelAndView.addObject("ExeMsg", e.getMessage()); modelAndView.addObject("ReqUrl", request.getRequestURL()); modelAndView.setViewName("/exemsg"); return modelAndView ; }}5、简单的测试接口
@Controllerpublic class ExeController { /** * { * "code": 600, * "msg": "业务异常:ID 不能为空", * "url": "http://localhost:8003/exception01" * } */ @RequestMapping("/exception01") public String exception01 () throws ServiceException { throw new ServiceException("业务异常:ID 不能为空"); } @RequestMapping("/exception02") public String exception02 () throws Exception { throw new Exception("出现异常,全体卧倒"); }}感谢各位的阅读!关于"SpringBoot2中如何配置系统全局异常映射处理"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
系统
处理
业务
用户
界面
提示
格式
分类
全局
配置
内容
常见
接口
更多
注解
用户界面
篇文章
页面
首页
服务
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网电商科技
互联网通讯科技
深圳科技互联网
互联网科技金融
互联网科技的发展
互联网科技媒体
沃里互联网科技
互联网科技网站
互联网科技有限公司 翻译
互联网科技和信息
爱医互联网络科技
朱啸虎曾投资哪些互联网科技企业
互联网科技如何创业
黑科技 体验场景 互联网大会
互联网公司高科技产品
互联网与数字科技关系
广州梦谷互联网科技有限公司领导
互联网金融运营模式中的金融科技
宁波允成互联网科技有限公司
颐高云石互联网科技
科技互联网
百单网互联网科技有限公司怎么样
杭州互联网科技公司
互联网高科技企业
互联网科技咨询
互联网科技有限公司 翻译
互联网科技大会案例
半导体是互联网高科技吗
工业互联网科技创业
陕西彩京云互联网科技有限公司