首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Spring applicationContext中读取系统环境变量

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

Stack Overflow用户
提问于 2010-10-19 12:57:55
回答 9查看 316.7K关注 0票数 119

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

我想要这样的东西:

代码语言:javascript
复制
<util:properties id="dbProperties"
        location="classpath:config_DEV/db.properties" />

代码语言:javascript
复制
<util:properties id="dbProperties"
        location="classpath:config_QA/db.properties" />

取决于环境的不同。

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

代码语言:javascript
复制
<util:properties id="dbProperties"
        location="classpath:config_${systemProperties.env}/db.properties" />

其中,实际val是根据系统环境变量设置的

我使用的是Spring3.0

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-10-19 14:07:33

检查this article。它为您提供了几种方法,通过支持外部属性的PropertyPlaceholderConfigurer (通过systemPropertiesMode属性)。

票数 51
EN

Stack Overflow用户

发布于 2012-11-07 01:14:38

在bean定义中,确保包含"searchSystemEnvironment“并将其设置为"true”。如果你用它来构建一个文件的路径,把它指定为一个file:/// url。

例如,如果您的配置文件位于

代码语言:javascript
复制
/testapp/config/my.app.config.properties

然后像这样设置一个环境变量:

代码语言:javascript
复制
MY_ENV_VAR_PATH=/testapp/config

您的应用程序可以使用如下的bean定义加载文件:

例如:

代码语言:javascript
复制
<bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer">
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
    <property name="searchSystemEnvironment" value="true" />
    <property name="searchContextAttributes" value="true" />
    <property name="contextOverride" value="true" />
    <property name="ignoreResourceNotFound" value="true" />
    <property name="locations">
        <list>
            <value>file:///${MY_ENV_VAR_PATH}/my.app.config.properties</value>
        </list>
    </property>
</bean>
票数 8
EN

Stack Overflow用户

发布于 2014-03-25 17:53:24

使用Spring EL,您可以按如下方式eis example编写

代码语言:javascript
复制
<bean id="myBean" class="path.to.my.BeanClass">
    <!-- can be overridden with -Dtest.target.host=http://whatever.com -->
    <constructor-arg value="#{systemProperties['test.target.host'] ?: 'http://localhost:18888'}"/>
</bean>
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3965446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档