SpringBoot static静态变量使用@Value注入方式
@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注解