static 无法直接修饰 @Value 变量
需求
- 复用个推 api 中的 PushApi。
- 在 static 代码块中使用
static修饰的变量。
static 修饰 @Value 变量
- 如果直接使用 static + @Value 声明变量,得到的是 null。
- 可以使用使用以下方法获取一个 static 的变量,值为@Value
// 声明为一个 spring bean
@Component
public class TestConfig {
// 我们真正需要的 static 变量
protected static String host;
@Value("${host}")
private String cHost;
// 我的需求就是复用此变量
protected static PushApi pushApi;
@PostConstruct
public void init() {
// 这里我们就可以获取 static + @Value 的变量
host = cHost;
```
pushApi = apiHelper.creatApi(PushApi.class);
}
}