我通过以下方式暴露bean来添加inceprtor:
@Bean
public WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(cacheClearanceInterceptor()).addPathPatterns("/*")
.order(OFFSET + 1);
registry.addInterceptor(pageNotFoundInterceptor()).addPathPatterns("/*")
.excludePathPatterns("/static/*").order(OFFSET + 2);
}
};
}
我正在使用SimpleUrlHandlerMapping
来解析处理程序方法的url。但是,我没有看到上面添加的拦截器。我曾期望spring会添加拦截器,但事实并非如此,并且直接向处理程序方法请求命中而中间没有拦截器。我需要手动调用setInteceptors
方法在SimpleUrlHandlerMapping
上注册接收器吗?