为了账号安全,请及时绑定邮箱和手机立即绑定

在 spring applicationContext.xml 中访问系统属性时出错

在 spring applicationContext.xml 中访问系统属性时出错

阿波罗的战车 2021-06-22 10:46:29
我想将我的 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 中,我尝试从与系统属性相同的位置访问相同的属性文件,但应用程序无法正常工作
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 257 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信