源码角度深度解析Spring的异常处理ExceptionHandler的实现原理

SpringMVC-异常处理(二)

在DispatcherServlet.initHandlerExceptionResolvers()对异常处理类进行初始化并且排序

默认的实现有三个类:ExceptionHandlerExceptionResolver、ResponseStatusExceptionResolver、DefaultHandlerExceptionResolver,对应的order分别0、1、2 我们自己实现HandlerExceptionResolver类对异常处理,如类名为GlobalExceptionResolver,如果不指定order,默认排序就排在最后,基高陪即:ExceptionHandlerExceptionResolver、ResponseStatusExceptionResolver、DefaultHandlerExceptionResolver、GlobalExceptionResolver。所以MissingServletRequestParameterException、等异常会被DefaultHandlerExceptionResolver扑捉。

DefaultHandlerExceptionResolver默认实现了一些异常处理如:、等念返,详见:org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver的doResolveException方法,我们可以继承DefaultHandlerExceptionResolver并重写它的方法。

被Spring管理并且设置它的order

也可以让自定义的异常处理类GlobalExceptionResolver继承DefaultHandlerExceptionResolver,重写需要处理的异常,并且搏蠢设置order属性

这样也可以被我们自己的异常处理类扑捉

Spr

您好,希望以下回答能帮助您

《SPRING技术内幕——深入解析SPRING架构与设计原理》

该书讲了spring的ioc容器原理,在xml的spring配置文件中,对象是如何解析并生成的。

spring办批的aop,面向切面编程。这两块是比较重要的,属于核心部分。

其他的如spring mvc ,spring jdbc与hibernate,ibatise集成,备律入spring事务,spring security,

spring 任务调度都有介绍。

大体来说,属于跟着代码走向,一个类一个类介绍了一下。其实代码都是有英文注释的。

跟着作都的思路看过来也还是可以的,最好是对照类图分析。

如您还有疑问可继续追问。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。聚才发仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 tenspace2022@163.com 举报,一经查实,本站将立刻删除。 本文链接:https://www.jucaifa.com/post/1153641.html 商机洞察 金融谷 前沿技术

niuniuniuniu
上一篇 2023年12月5日
下一篇 2023年12月5日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注