Springboot @Value 注入 static 变量 报错

使用 @Value 注入方式,变量值一直是 null

原因:变量是 static 静态变量

正确写法:

@Component
public class MyConfig {
  private static String env;
  public static String getEnv() {
    return env;
  }
  @Value("${env}")
  public void setEnv(String env) {
    MyConfig.env = env;
  }
}

Spring容器会在启动时执行@Value注解下的setEnv()方法