java – 引用Spring属性文件使用路径相对于配置文件

我正在将属性从我的 Spring配置文件中移动到单独的属性文件.这是包含在配置文件
<bean class="org.springframework.beans.factory.config.PropertyPlaceHolderConfigurer">
  <property name="location" value="file:properties/${CONFIG_MODE}/service.properties" />
</bean>

就此而言,属性文件的位置与服务器进程的当前工作目录相对.

这将创建一个必须从特定工作目录启动该进程的要求,甚至更糟的是允许(可以远程的)可能会选择一个完全不同的属性文件,例如,如果工作目录设置为旧版本的服务.

我想使用相对于包含配置文件的目录的路径引用属性文件.

看着FileSystemResource,似乎createRelative可能是我需要的,但我无法弄清楚如何在配置文件中使用它.

谢谢,

史蒂夫

解决方法

我不知道有这样做的方法.

但是,您可以执行的操作是从类路径加载属性文件

<bean class="org.springframework.beans.factory.config.PropertyPlaceHolderConfigurer">
  <property name="location" value="classpath:path/to/service.properties" />
</bean>

属性文件的类路径位置是一个更可预测的情况,只要您的类路径正确设置,它将会工作.

相关文章

ArrayList简介:ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增...
一、进程与线程 进程:是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。 线程...
本文为博客园作者所写:&#160;一寸HUI,个人博客地址:https://www.cnblogs.com/zsql/ 简单的一个类...
#############java面向对象详解#############1、面向对象基本概念2、类与对象3、类和对象的定义格式4、...
一、什么是异常? 异常就是有异于常态,和正常情况不一样,有错误出错。在java中,阻止当前方法或作用域...
Collection接口 Collection接口 Collection接口 Collection是最基本的集合接口,一个Collection代表一组...