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

网站建设3年前发布
32 0 0

环境: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。

© 版权声明

相关文章