一尘不染

Spring应用程序上下文的外部属性?

spring

我有一个Spring应用程序,到目前为止运行良好。现在,我希望属性文件位于外部配置文件夹中,而不是在打包的jar中,而无需重新打包即可更改内容。这就是我得到的:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<!-- <property name="locations" value="classpath:/springcontext.properties"/>  -->
<property name="locations" value ="config/springcontext.properties" />

阅读 403

收藏
2020-04-15

共2个答案

一尘不染

<context:property-placeholder location="classpath*:spring/*.properties" />

如果将其放置在名为spring的目录中的类路径中的某个位置(相应地更改名称/目录),则可以使用

<property name="locations" value ="config/springcontext.properties" />

这将指向web-inf / classes / config / springcontext.properties

2020-04-15
一尘不染

你可以尝试如下操作:

<context:property-placeholder 
        location="${ext.properties.dir:classpath:}/servlet.properties" />

ext.properties.dir在应用程序服务器/ jvm中定义属性,否则将使用默认属性位置“ classpath:/”(即,.jar或.war的类目录):

-Dext.properties.dir=file:/usr/local/etc/
2020-04-15