详解SpringBoot接口异常处理机制及源码分析

环境:Springboot3.0.5,如果在请求映射期间发生异常或从请求处理程序(例如@Controller)抛出异常,DispatcherServlet将委托给HandlerExceptionResolver。,下表列出了可用的HandlerExceptionResolver实现。,HandlerExceptionResolver 实现类:,我们可以声明多个HandlerExceptionResolver,HandlerExceptionResolver的约定规定它可以返回:,SpringMVC请求入口通过DispatcherServlet执行大致核心流程如下:,这里以Controller接口为例,HandlerAdapter对象为RequestMappingHandlerAdapter。,ServletInvocableHandlerMethod执行参数解析目标Controller方法调用及返回值的处理。,通过上面的源码分析,在调用过程中如果发生了异常会将异常直接抛出,在DispatcherServlet中会进行异常的处理。,接着上面的源码分析,当发生异常后最终会在DispatcherServlet#processDispatchResult方法中进行处理。,ExceptionHandlerExceptionResolver类继承自AbstractHandlerMethodExceptionResolver该类又继承自AbstractHandlerExceptionResolver。,AbstractHandlerMethodExceptionResolver,ExceptionHandlerExceptionResolver,通过上面的源码分析你应该知道了关于SpringMVC中异常处理的原理。,当上面的异常处理机制都没法处理,那么将会调用默认的/error接口。,上面的错误接口/error在容器启动时会自动注册到内嵌的容器中,如:Tomcat。

文章版权声明

 1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/26704.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年6月23日
下一篇 2023年7月15日