Spring:访问applicationConfig.xml中的环境变量

Dha*_*ana 4 spring

我想将我的数据库凭据和其他秘密值设置为环境变量的一部分.有没有办法访问applicationConfig.xml中的环境变量

我试过了<property name="username" value="#{systemEnvironment['db_username']}" />.但是这没用.我错过了什么吗?

许多人告诉我如何从属性文件中访问值.我需要直接访问环境变量.

我的代码如下: -

<context:component-scan base-package="org.dhana.*" />

    <context:annotation-config />

    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>



    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url"
            value="xxxx" />
        <property name="username" value="${db_username}" />
        <property name="password" value="xxxxx" />
    </bean>

    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource" />
    </bean>
Run Code Online (Sandbox Code Playgroud)

Rak*_*yal 9

您可能必须设置searchSystemEnvironment值才能使其正常工作.

<bean id="propertyPlaceholderConfigurer"   
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
    <property name="searchSystemEnvironment" value="true" />
</bean>
Run Code Online (Sandbox Code Playgroud)

然后,我们应该能够访问$ {MY_ENV_VAR}.