问题描述
- 常规操作,可获取application.yml或application.properties中 ‘anyi.weChat.checkToken‘ 的值
@Value("${anyi.weChat.checkToken}")
private String checkToken1;
- 静态变量无法获取:如下所示代码,无法完成静态变量赋值,这是因为Spring Boot 不支持/不允许把值注入到静态变量中。
@Value("${anyi.weChat.checkToken}")
private static String checkToken;
解决办法
把@Value("${anyi.weChat.checkToken}")放到静态变量的set方法上面,且set方法必须是非static,另外当前类必须放进Spring容器。
@Slf4j
@Component
public class SignUtil {
private static String checkToken;
@Value("${anyi.weChat.checkToken}")
private void setCheckToken(String token) {
this.checkToken = token;
}