美文网首页
Spring Boot拦截器依赖注入为null

Spring Boot拦截器依赖注入为null

作者: qiubyte | 来源:发表于2021-02-26 18:02 被阅读0次

    出现问题

    在Spring Boot拦截器Interceptor中使用@Resource依赖注入时,调试发现运行的时候被注解的对象居然是null

    依赖注入为null

    原始配置的拦截器为:

    @Configuration
    public class BaseWebConfig implements WebMvcConfigurer {
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            // 请求统一拦截
            registry.addInterceptor(new SigV1Interceptor()).addPathPatterns("/v1/**");
            registry.addInterceptor(new SigV2Interceptor()).addPathPatterns("/v2/**");
        }
    }
    

    解决

    在添加拦截器之前先自己创建一下这个Bean,这样就能在Spring就会在映射这个拦截器前,把拦截器中的依赖注入给完成了。

    @Configuration
    public class BaseWebConfig implements WebMvcConfigurer {
    
        @Bean
        public SigV1Interceptor sigV1Interceptor() {
            return new SigV1Interceptor();
        }
    
        @Bean
        public SigV2Interceptor sigV2Interceptor() {
            return new SigV2Interceptor();
        }
    
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            // 请求统一拦截
            registry.addInterceptor(sigV1Interceptor()).addPathPatterns("/v1/**");
            registry.addInterceptor(sigV2Interceptor()).addPathPatterns("/v2/**");
        }
    }
    

    相关文章

      网友评论

          本文标题:Spring Boot拦截器依赖注入为null

          本文链接:https://www.haomeiwen.com/subject/abhvfltx.html