1

我正在尝试在我的应用程序中使用 Spring 3.2.3 版本的 JavaConfig,我需要读取环境变量的值。

我已阅读JavaConfig 1.0.0.M4 文档,这似乎正是我所需要的,但找不到如何导入或解析引用@EnvironmentValueSource@ExternalValue注释。

有人可以告诉我如何做到这一点吗?谢谢。

4

2 回答 2

1

您应该能够使用带有 SpEL 表达式的@Value注释从systemEnvironment属性对象中检索环境变量,例如:

@Value("#{ systemEnvironment['MY_PROPERTY'] }")
private String myProperty;

如果您需要系统属性,请systemProperties['MY_PROPERTY']改用。

此外,您应该查看的文档在这里- 您链接到的文档已经很旧了。

于 2013-09-04T12:03:52.353 回答
0

您可以使用 Springs EnvironmentAware接口:

public class ClazzWithEnvironmentInfo implements EnvironmentAware{

    private Environment environment;

    private String getSomeProperty(){
        return environment.getProperty("SOME_ENV_PROPERTTY");
    }

    @Override
    public void setEnvironment(Environment environment) {
        this.environment = environment;
    }
}
于 2013-09-04T11:35:17.563 回答