我想将我的 db 文件位置设置为系统变量的一部分,该变量应在启动应用程序时提供。我要访问此系统属性中applicationContext.xml的,我曾尝试使用#{systemProperties['db.properties']}在applicationContext.xml.我用以下两种方式定义了 propertyPlaceholderConfigurer bean,以两种不同的方式指定属性“位置”的值:情况1 #:<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <property name="searchSystemEnvironment" value="true"/> <property name="locations"> <value>file://"#{systemProperties['db.properties']}"</value> </property> <property name="ignoreResourceNotFound" value="true" /> <property name="ignoreUnresolvablePlaceholders" value="true"/></bean>数据源 bean #:<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="org.postgresql.Driver"/> <property name="url" value="${db.url}"/> <property name="username" value="${db.user}"/> <property name="password" value="${db.pwd}"/></bean> 案例 2 #:<bean id="propertyPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <property name="searchSystemEnvironment" value="true"/> <property name="locations"> <value>file://${DB_CONF}/test/db.properties</value> </property> <property name="ignoreResourceNotFound" value="true" /> <property name="ignoreUnresolvablePlaceholders" value="true"/></bean>如果我使用情况 2 中的属性位置值而不是“#{systemProperties['db.properties']}”,则应用程序工作正常。在情况 1 中,我尝试从与系统属性相同的位置访问相同的属性文件,但应用程序无法正常工作
添加回答
举报
0/150
提交
取消