今天遇到这样一个问题,在整合jwt 配置拦截器的时候,遇到这样一个问题:

public class JWTInterceptor implements HandlerInterceptor {
@Autowired
User user; //null
}
解决方法:
错误之前:
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new JWTInterceptor());
}
}
修改为:这样,PermissionInterceptor 由 @Bean 方法生成,其生命周期由 Spring 管理,Spring 将扫描 @Autowired 目标并注入它们。
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(jwtInterceptor())
.excludePathPatterns("/user/**")
.addPathPatterns("/**");
}
@Bean
public JWTInterceptor jwtInterceptor() {
return new JWTInterceptor();
}
}
在整合JWT配置拦截器时遇到问题,@Autowired的User对象为null。通过修改Interceptor的配置,将JWTInterceptor由@Bean方法生成并由Spring管理,解决了注入问题。现在,Spring会自动扫描并注入@Autowired的目标。
23万+

被折叠的 条评论
为什么被折叠?



