浅谈什么是SpringBoot异常处理自动配置的原理


Posted in Java/Android onJune 21, 2021

异常处理自动配置

ErrorMvcAutoConfiguration自动配置类自动配置了处理规则,给容器中注册了多种组件

errorAttributes组件,类型为DefaultErrorAttributes。这个组件定义错误页面中可以包含哪些数据

浅谈什么是SpringBoot异常处理自动配置的原理
浅谈什么是SpringBoot异常处理自动配置的原理
浅谈什么是SpringBoot异常处理自动配置的原理

basicErrorController组件,类型为BasicErrorController。处理默认/error路径的请求,new一个iderrorModelAndView对象来响应页面

浅谈什么是SpringBoot异常处理自动配置的原理

error组件,类型为View。响应的是默认错误页面

浅谈什么是SpringBoot异常处理自动配置的原理

beanNameViewResolver组件,类型为BeanNameViewResolver。这个组件会按照返回的视图名作为组件的id去容器中找View对象

浅谈什么是SpringBoot异常处理自动配置的原理

conventionErrorViewResolver组件,类型为DefaultErrorViewResolver。这个组件用来解析错误视图页面,如果发生错误,会以HTTP的状态码作为视图页面地址找到真正的页面

浅谈什么是SpringBoot异常处理自动配置的原理
浅谈什么是SpringBoot异常处理自动配置的原理

总结:

  • 如果需要添加页面错误可以获取的数据,就自定义DefaultErrorAttributes组件
  • 如果需要修改错误页面跳转逻辑,就自定义BasicErrorController组件
  • 如果需要修改错误页面存放的静态资源路径,就自定义DefaultErrorViewResolver组件

到此这篇关于浅谈什么是SpringBoot异常处理自动配置的原理的文章就介绍到这了,更多相关SpringBoot异常处理自动配置内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
为什么在foreach循环中JAVA集合不能添加或删除元素
Jun 11 Java/Android
深入理解以DEBUG方式线程的底层运行原理
Jun 21 Java/Android
使用feign服务调用添加Header参数
Jun 23 Java/Android
Java实现聊天机器人完善版
Jul 04 Java/Android
mybatis3中@SelectProvider传递参数方式
Aug 04 Java/Android
使用Spring处理x-www-form-urlencoded方式
Nov 02 Java/Android
Java实现二分搜索树的示例代码
Mar 17 Java/Android
SpringBoot整合Minio文件存储
Apr 03 Java/Android
Java 深入探究讲解简单工厂模式
Apr 07 Java/Android
JavaWeb Servlet开发注册页面实例
Apr 11 Java/Android
SpringBoot使用AOP实现统计全局接口访问次数详解
Jun 16 Java/Android
SpringBoot Http远程调用的方法
Aug 14 Java/Android
SpringAop日志找不到方法的处理
详解SpringBoot异常处理流程及原理
Java新手教程之ArrayList的基本使用
Java各种比较对象的方式的对比总结
Jun 20 #Java/Android
Java Optional<Foo>转换成List<Bar>的实例方法
Jun 20 #Java/Android
详解Java实践之适配器模式
Java数据结构之链表相关知识总结
You might like
PHP 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
php中将网址转换为超链接的函数
2011/09/02 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
PHP 第三节 变量介绍
2012/04/28 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
基于Jquery的将DropDownlist的选中值赋给label的实现代码
2011/05/06 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
Python中的推导式使用详解
2015/06/03 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
python使用writerows写csv文件产生多余空行的处理方法
2019/08/01 Python
pycharm 安装JPype的教程
2019/08/08 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
sklearn的predict_proba使用说明
2020/06/28 Python
html5 Canvas画图教程(5)—canvas里画曲线之arc方法
2013/01/09 HTML / CSS
后勤采购员岗位职责
2013/12/19 职场文书
入党思想汇报
2014/01/05 职场文书
手工社团活动方案
2014/02/17 职场文书
优秀教师先进个人事迹材料
2014/08/31 职场文书
代收款委托书范本
2014/10/01 职场文书
环境卫生工作汇报材料
2014/10/28 职场文书
护理医院见习报告
2014/11/03 职场文书
2015年教学工作总结
2015/04/02 职场文书
你有一份《诚信考试承诺书》待领取
2019/11/13 职场文书
js 数组 fill() 填充方法
2021/11/02 Javascript
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers