如何使用环境变量配置EncryptablePropertyPlaceholderConfigurer(jasypt)

时间:2013-11-23 18:28:30

标签: spring environment-variables placeholder jasypt

我正在配置EncryptablePropertyPlaceholderConfigurer(JASYPT 1.8)的xml,它从Spring中扩展了PropertyPlaceholderConfigurer,我需要放置一个环境var而不是我的属性文件的位置,如下所示,但是不起作用。任何人都知道如何配置它?

当我放置文件的真实路径时,Everthing工作正常。

 <bean 
   class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer">
        <constructor-arg ref="configurationEncryptor" />   
        <property name="systemPropertiesModeName"    value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
        <property name="searchSystemEnvironment" value="true" />
        <property name="ignoreResourceNotFound" value="true" />

         <property name="locations">
            <list>
                <value>file:///${PROP}/teste.properties</value>                  
             </list>
         </property>
    </bean>

1 个答案:

答案 0 :(得分:1)

我找到了一个简单的解决方案!

我只需要输入此代码,不带list标签,并且工作正常!

<bean class="org.jasypt.spring.properties.EncryptablePropertyPlaceholderConfigurer">
    <constructor-arg ref="configurationEncryptor" />
    <property name="location">
        <value>file:///${PROP}/teste.properties</value>
    </property>
</bean>