浅谈什么是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 相关文章推荐
Spring Data JPA的Audit功能审计数据库的变更
Jun 26 Java/Android
Java集成swagger文档组件
Jun 28 Java/Android
SpringBoot工程下使用OpenFeign的坑及解决
Jul 02 Java/Android
java多态注意项小结
Oct 16 Java/Android
SpringCloud Feign请求头删除修改的操作代码
Mar 20 Java/Android
Java字符串逆序方法详情
Mar 21 Java/Android
Java Lambda表达式常用的函数式接口
Apr 07 Java/Android
Java 关于String字符串原理上的问题
Apr 07 Java/Android
Android在Sqlite3中的应用及多线程使用数据库的建议
Apr 24 Java/Android
SpringBoot全局异常处理方案分享
May 25 Java/Android
java获取一个文本文件的编码(格式)信息
Sep 23 Java/Android
Java结构型设计模式之组合模式详解
Sep 23 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的memcached客户端memcached
2011/06/14 PHP
PHP基础陷阱题(变量赋值)
2012/09/12 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
RSA实现JS前端加密与PHP后端解密功能示例
2019/08/05 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
js中判断文本框是否为空的两种方法
2011/07/31 Javascript
javascript框架设计读书笔记之字符串的扩展和修复
2014/12/02 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
vue.js如何将echarts封装为组件一键使用详解
2017/10/10 Javascript
vue-lazyload使用总结(推荐)
2018/11/01 Javascript
原生JS实现随机点名项目的实例代码
2019/04/30 Javascript
layui使用label标签的方法
2019/09/14 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
Python中使用Inotify监控文件实例
2015/02/14 Python
python开发之thread线程基础实例入门
2015/11/11 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
Django 外键的使用方法详解
2019/07/19 Python
详解Python实现进度条的4种方式
2020/01/15 Python
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
革命先烈的英雄事迹材料
2014/02/15 职场文书
夜不归宿检讨书
2014/02/25 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书
《游戏公平》教学反思
2016/02/20 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
Redis做数据持久化的解决方案及底层原理
2021/07/15 Redis
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android