ste*_*vec 13 java spring properties
我正在将属性从我的Spring配置文件中移动到单独的属性文件中.这包含在配置文件中
<bean class="org.springframework.beans.factory.config.PropertyPlaceHolderConfigurer">
<property name="location" value="file:properties/${CONFIG_MODE}/service.properties" />
</bean>
Run Code Online (Sandbox Code Playgroud)
就目前而言,属性文件的位置是相对于服务器进程的当前工作目录的.
这就要求必须从特定的工作目录启动进程,更糟糕的是允许它可以获取完全不同的属性文件(当然是远程) - 例如,如果它是在工作目录设置为旧版本的服务.
我想使用相对于包含配置文件的目录的路径来引用属性文件.
看看FileSystemResource,似乎createRelative可能就是我所需要的,但我无法弄清楚如何在配置文件中使用它.
谢谢,
史蒂夫
ska*_*man 11
我不知道如何做到这一点.
但是,您可以从类路径加载属性文件:
<bean class="org.springframework.beans.factory.config.PropertyPlaceHolderConfigurer">
<property name="location" value="classpath:path/to/service.properties" />
</bean>
Run Code Online (Sandbox Code Playgroud)
属性文件的类路径位置是一个更容易预测的情况,只要您的类路径设置正确,它就会起作用.
使用3.1,如果需要,可以将文件保留在类路径之外.
使用以下bean定义,
<bean class=
"org.springframework.beans.factory.config.PropertyPlaceHolderConfigurer">
<property name="location"
value="file:${props.path}/service.properties" />
</bean>
Run Code Online (Sandbox Code Playgroud)
您可以使用java命令行设置属性
java ... -Dprops.path=path/to/where/it/is
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
32679 次 |
最近记录: |