SpringBoot 2.5.0 拦截器配置时,@Value获取不到application.yml配置文件的值
application.ymljwt:# 这里只写一个方便tokenHeader: AuthorizationJwtInterceptorpublic class JwtInterceptor implements HandlerInterceptor {// 这里获取值,获取不到@Value("${jwt.tokenHeader}")private String tokenHeader;@Val
·
application.yml
jwt:
# 这里只写一个方便
tokenHeader: Authorization
JwtInterceptor
public class JwtInterceptor implements HandlerInterceptor {
// 这里获取值,获取不到
@Value("${jwt.tokenHeader}")
private String tokenHeader;
@Value("${jwt.tokenHead}")
private String tokenHead;
InterceptorConfig
/**
* 拦截器配置
*/
@Configuration
public InterceptorConfig implements WebMvcConfigurer {
/**
* 解决方法在这里:
* 需要将JwtInterceptor 交给Spring管理
*/
@Bean
public JwtInterceptor jwtInterceptor() {
return new JwtInterceptor();
}
/**
* 配置拦截路径,并放行登录及swagger
* @param registry
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 这里不要直接写成 new JwtInterceprot()
// 因为JwtInterceptor() 没有交给Spring
registry.addInterceptor(jwtInterceptor())
.excludePathPatterns("/login/**")
.addPathPatterns("/**");
}
}
更多推荐
已为社区贡献1条内容
所有评论(0)