如何在Spring applicationContext中读取系统环境变量

如何在应用程序上下文中读取系统环境变量?

我想要类似的东西:

<util:properties id="dbProperties"

location="classpath:config_DEV/db.properties" />

要么

<util:properties id="dbProperties"

location="classpath:config_QA/db.properties" />

取决于环境。

我的应用程序上下文中可以有这样的东西吗?

<util:properties id="dbProperties"

location="classpath:config_${systemProperties.env}/db.properties" />

根据系统环境变量设置实际值的地方

我正在使用Spring 3.0

回答:

你接近:o)Spring 3.0添加了Spring Expression Language。你可以使用

<util:properties id="dbProperties" 

location="classpath:config_#{systemProperties['env']}/db.properties" />

结合java ... -Denv=QA应该可以解决你的问题。

还请注意@yiling的评论:

为了访问系统环境变量(即amoe注释的OS级变量),我们可以简单地在该EL中使用“ systemEnvironment”而不是“ systemProperties”。喜欢 #{systemEnvironment['ENV_VARIABLE_NAME']}

以上是 如何在Spring applicationContext中读取系统环境变量 的全部内容, 来源链接: utcz.com/qa/430233.html

回到顶部