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;
}
}
使用上面这种方式,Config.getEnv()会返回null
正确写法
@Component
@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注解