springboot拦截器@resource注解注入为null解决方案 拦截适配配置

springboot拦截器@resource注解注入为null解决方案  拦截适配配置

为什么@resource注入为null
inteceptor在springcontext之前加载,注入必然是null

解决方案
加入注解@Bean,注意需要使用@Configuration,而不是@Component
解决
在Spring添加拦截器之前先自己创建一下这个Spring Bean,这样就能在Spring映射这个拦截器前,把拦截器中的依赖注入给完成了。

@Configuration
public class UserWebMVCConfigurer extends WebMvcConfigurerAdapter {
    /**
     * @return UserInterceptor
     */
    @Bean
    public UserInterceptor userInterceptor() {
        return  new UserInterceptor();
    }


    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(userInterceptor())
        .addPathPatterns("/**")
        .excludePathPatterns("/public/login/*","/error");
        super.addInterceptors(registry);
    }
}

 

posted on 2024-01-15 19:08  oktokeep  阅读(857)  评论(0编辑  收藏  举报