static静态变量使用@Value注入方式

使用@Value 注解static类型

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

使用上面这种方式,MyConfig.getEnv()会返回null

 

正确写法

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

一定是在非静态方法setEnv前使用@Value注解

你可能感兴趣的:(SpringBoot)