原因
拦截器加载是在springcontext创建之前完成
解决
让bean提前加载
实例
注意拦截链里面的是你注入到spring的拦截类而不是你实际用的拦截类。我之前查资料的时候就很多人直接把要用的拦截类插入到拦截链里面,还他娘的发出来给别人参考!
@Configuration
public class interceptorConfig extends WebMvcConfigurerAdapter{
//新建一个拦截类注入到spring容器
@Bean
public HandlerInterceptor getMyInterceptor(){
//返回自定义的拦截类
return new MyInterceptor();
}
//将注入到spring中的拦截类添加到拦截链
public void addInterceptors(InterceptorRegistry registry){
registry.addInterceptor(getMyInterceptor()) //指定拦截器类
.addPathPatterns("/**"); //指定该类拦截的url
super.addInterceptors(registry);
}
}