springboot攔截器HandlerInterceptor不生效的原因排查
項目添加一個攔截器,發(fā)現(xiàn)未生效
public class UserInterceptor implements HandlerInterceptor
1、排查攔截本身是否注入了springbean 容器
@Slf4j
@Component
public class LoginInterceptor implements HandlerInterceptor {
2、排查springboot 項目掃描范圍是否包含了攔截器所在目錄
3、排查攔截器是否注冊成功
兩種注冊方式相互排斥
如果同時配置一個類繼承WebMvcConfigurationSupport和一個類實現(xiàn)
WebMvcConfigurer或者WebMvcConfigurerAdapter,就會導致只有一個生效。解決辦法:將這些配置都在一個類中設置
這里全局搜索WebMvcConfigurer
和WebMvcConfigurationSuppor
發(fā)現(xiàn)項目中已經(jīng)有了
@Configuration public class FastJsonConfig extends WebMvcConfigurationSupport
在這里增添
@Override
public void addInterceptors(InterceptorRegistry registry) {
List<String> excluded=new ArrayList<>();
excluded.add("/pc/getUserInfoByCode");
excluded.add("pc/login");
registry.addInterceptor(loginInterceptor)
.addPathPatterns("/**")
.excludePathPatterns(excluded);
super.addInterceptors(registry);
}
然后打斷點,發(fā)現(xiàn)項目啟動的時候攔截器注冊成功,接下來可以正常拿用戶登錄信息了
到此這篇關于springboot攔截器HandlerInterceptor不生效的原因排查的文章就介紹到這了,更多相關springboot攔截器HandlerInterceptor不生效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring中使用JSR303請求約束判空的實現(xiàn)
這篇文章主要介紹了Spring中使用JSR303請求約束判空的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12
Java的微信開發(fā)中使用XML格式和JSON格式數(shù)據(jù)的示例
這篇文章主要介紹了Java微信開發(fā)中使用XML格式和JSON格式數(shù)據(jù)的示例,注意一下json-lib所需要的jar包,需要的朋友可以參考下2016-02-02
java多線程編程之InheritableThreadLocal
這篇文章主要為大家詳細介紹了java多線程編程之InheritableThreadLocal,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10

