spring boot拦截器过路器执行顺序
时间: 2023-09-02 19:02:30 浏览: 168
spring boot 登录拦截器
Spring Boot拦截器过滤器的执行顺序由它们在代码中的注册顺序决定。在Spring Boot中,可以通过实现HandlerInterceptor接口来创建拦截器。
拦截器的执行顺序为先进后出(FILO)顺序,也就是说,最先注册的拦截器最后执行,最后注册的拦截器最先执行。当一个请求到达时,首先执行最后注册的拦截器的preHandle方法。如果该方法返回true,则继续执行下一个拦截器的preHandle方法,直到所有的拦截器都执行完毕。
在拦截器链中,如果有一个拦截器的preHandle方法返回了false,那么该请求将不再继续执行后续的拦截器的preHandle方法,也不会执行目标方法,而是直接返回给用户。所以,对于拦截器链中的每个拦截器,我们需要根据需要在preHandle方法中做必要的处理,并根据情况返回true或false。
在所有的拦截器的preHandle方法执行完毕后,会依次执行拦截器的postHandle方法,再依次执行拦截器的afterCompletion方法。值得注意的是,postHandle和afterCompletion方法的执行顺序与preHandle方法恰好相反,即最先注册的拦截器最先执行。
总结来说,Spring Boot拦截器的执行顺序是先进后出的顺序,最先注册的拦截器最后执行,最后注册的拦截器最先执行。
阅读全文