解决 Springboot中Interceptor拦截器中依赖注入失败


问题:

在Springboot拦截器Interceptor中使用@Resource依赖注入时,发现运行的时候被注解的对象居然是null,没被注入进去

原配置为:

@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter {

@Override
public void addInterceptors(final InterceptorRegistry registry) {
registry.addInterceptor(new UserInterceptor())
.addPathPatterns("/**")
.excludePathPatterns("/login/**", "/logout/**", "/loginPage/**", "/error/**");
super.addInterceptors(registry);
}
}

 

解决:

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

修改配置:

@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter {

@Bean
public UserInterceptor userInterceptor() {
return new UserInterceptor();
}

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM