addInterceptors
时间: 2024-05-31 14:05:10 浏览: 94
addInterceptors是Spring MVC框架中的一个方法,可以向处理程序注册一个或多个拦截器。当处理程序被映射到请求路径时,拦截器将拦截请求并处理它们,以便在处理程序的执行之前或之后执行某些操作。以下是一个使用addInterceptors方法向Spring MVC应用程序添加拦截器的例子:
```java
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor());
}
}
```
此代码片段将MyInterceptor拦截器添加到Spring MVC应用程序中。当处理程序被映射到请求路径时,MyInterceptor将拦截请求并执行某些操作。需要注意的是,你可以向拦截器添加更多的逻辑代码,以根据你的需求执行更多的操作。
相关问题
WebMvcConfigurer.addInterceptors
WebMvcConfigurer接口中的addInterceptors()方法是用于注册拦截器的。拦截器可以拦截请求和响应,可以用于请求的预处理和后处理,比如记录日志、权限校验、参数校验等。在实现该接口并覆盖addInterceptors()方法时,可以将自定义的拦截器注册到Spring MVC的拦截器链中。该方法有一个参数InterceptorRegistry,可以使用该参数的addInterceptor()方法来添加拦截器,并通过addPathPatterns()方法设置拦截器的拦截路径,通过excludePathPatterns()方法设置拦截器不拦截的路径。在注册拦截器时,可以设置拦截器的顺序,数字越小越先执行。
addInterceptors addArgumentResolvers 执行循序
在 Spring MVC 中,拦截器(Interceptor)和参数解析器(ArgumentResolver)的执行顺序如下:
1. 执行拦截器的 preHandle 方法。
2. 如果有多个拦截器,按照配置的顺序依次执行。
3. 执行 HandlerMethod(请求处理方法)对应的参数解析器的 supportsParameter 方法,判断该解析器是否支持当前参数。
4. 如果有多个参数解析器支持当前参数,按照配置的顺序依次执行。
5. 执行拦截器的 postHandle 方法。
6. 执行 HandlerMethod(请求处理方法)。
7. 执行拦截器的 afterCompletion 方法。
在这个过程中,如果 preHandle 方法返回 false,后续的拦截器和参数解析器将不再执行,直接返回。如果 postHandle 方法抛出异常,afterCompletion 方法将不会被执行。
阅读全文