从PropertyPlaceholderConfigurer中访问属性,以使属性位置相对于xml配置文件的位置

时间:2018-08-18 14:18:02

标签: java spring applicationcontext

在春季进行导入时,位置路径相对于导入文件的定义。

<beans>
    <import resource="services.xml"/>
</beans>

但是,它不适用于PropertyPlaceholderConfigurer。如果我同时拥有外部xml配置和属性(均不在jar中) 文件夹,这种配置不起作用(找不到文件db.properties)。

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
      <list>
          <value>file:db.properties</value>
      </list>
  </property>
</bean>

是否可以通过PropertyPlaceholderConfigurer配置来访问属性,以使该位置相对于XML文件(不在jar或类路径中)相对于XML文件(不在jar或classpath中)?

请注意,我知道可以传递完整路径,例如文件:D:\ config \ release-11 \ db.properties,我们目前正在执行,但是我们 例如,当我们更改属性的位置时,无需更新路径创建新版本。使用像file:$ {config-dir} \ db.properties这样的参数的解决方案 由于该配置由不同团队管理的多个应用程序使用,因此将很难做到。

0 个答案:

没有答案