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); } }