@Value无法注入static变量的值

使用@Value注解static类型:

1
2
3
4
5
6
7
8
9
10
11
12
13
@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

正确写法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Component
public class MyConfig {

private static String env;

public static String getEnv() {
return env;
}

@Value("${env}")
public void setEnv(String env) {
MyConfig.env = env;
}
}

要使用一个set函数注入。

-------------本文结束 感谢您的阅读-------------