如何在spring xml配置中注入环境变量?

2024-01-08

AWS 谈论System.getProperty("JDBC_CONNECTION_STRING") in http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Java.managing.html http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Java.managing.html在我们设置环境变量之后。一切都很好,除了我不能打电话System.getProperty在我的 Spring XML 配置代码中,我也无法调用资源包快捷方式,因为资源包本身必须以某种方式提取这些环境变量来为它们提供服务。您能帮我将此示例配置转换为使用环境变量吗? :-)

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://secrethost:007/whois?autoReconnect=true" />
    <property name="username" value="bond" />
    <property name="password" value="abuginsidemistycorner" />
    <property name="initialSize" value="100" />

    <property name="minEvictableIdleTimeMillis">
        <value>300000</value>
    </property>

    <property name="timeBetweenEvictionRunsMillis">
        <value>60000</value>
    </property>

    <property name="maxIdle" value="20" />
</bean>

我无法理解人们在这里做什么:

我可以为 Spring FileSystemResource 使用基于环境变量的位置吗? https://stackoverflow.com/questions/1841857/can-i-use-an-environment-variable-based-location-for-spring-filesystemresource/1843010#1843010哪个适用于最近的春季版本?


首先添加一个<context:property-placeholder .. />元素到您的配置。

<context:property-placeholder />

然后只需在配置中使用占位符即可。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="${JDBC_CONNECTION_STRING}" />
    <property name="username" value="bond" />
    <property name="password" value="abuginsidemistycorner" />
    <property name="initialSize" value="100" />
    <property name="minEvictableIdleTimeMillis" value="30000" />
    <property name="timeBetweenEvictionRunsMillis" value="60000" />
    <property name="maxIdle" value="20" />
</bean>

确保占位符名称与您设置的变量相匹配。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在spring xml配置中注入环境变量? 的相关文章

随机推荐