當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
通过外部文件覆盖打包的Spring应用程序属性文件
生活随笔
收集整理的這篇文章主要介紹了
通过外部文件覆盖打包的Spring应用程序属性文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
開發(fā)Spring應用程序時,最常見的用例是您希望擁有多個版本的配置屬性,具體取決于要部署到的位置,例如,數(shù)據(jù)庫URL或功能標志可能是特定于dev,qa,production等環(huán)境的。
像大多數(shù)Spring開發(fā)任務一樣,有多種方法可以解決問題。 我的偏好基于以下假設和偏好:
- 我們創(chuàng)建一個默認的配置屬性文件(例如“ appConfig.properties”),并將其打包在可部署工件(JAR或WAR等)中
- 該文件將包含一組合理的默認“基線”屬性,應用程序需要這些屬性才能成功運行
- 我們要通過位于已部署應用程序的工作目錄中的外部文件覆蓋基準appConfig.properties文件中的屬性
- 我們通常將此文件命名為appConfigOverride.properties
- 在執(zhí)行應用程序或設置系統(tǒng)變量時,可以通過在命令行上傳遞參數(shù)來覆蓋應用程序屬性,但這是一個單獨的主題
解決方案
我們?yōu)閍pplication-context.xml使用以下結構:
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><context:property-placeholder location="file:appConfigOverride.properties" order="-1"ignore-unresolvable="true" ignore-resource-not-found="true" /><context:property-placeholder location="classpath:appConfig.properties" />....</beans> 這里的關鍵是'order'屬性,當在另一個文件中也找到該屬性(有效覆蓋另一個文件中的值)時,該屬性將強制使用在appConfigOverride.properties中找到的屬性,以及'ignore-unresolvable = “ true” ignore-resource-not-found =“ true”'允許Spring在找不到外部文件(或不包含覆蓋appConfig文件的所有默認屬性)的情況下繼續(xù)加載上下文
翻譯自: https://www.javacodegeeks.com/2013/07/overriding-a-packaged-spring-application-properties-file-via-an-external-file.html
總結
以上是生活随笔為你收集整理的通过外部文件覆盖打包的Spring应用程序属性文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 觉醒年代中丰载是谁 张丰载的原型之一张厚
- 下一篇: 法线的定义是什么 什么是法线的定义