日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

通过外部文件覆盖打包的Spring应用程序属性文件

發(fā)布時(shí)間:2023/12/3 javascript 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过外部文件覆盖打包的Spring应用程序属性文件 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

開(kāi)發(fā)Spring應(yīng)用程序時(shí),最常見(jiàn)的用例是您希望擁有多個(gè)版本的配置屬性,具體取決于要部署到的位置,例如,數(shù)據(jù)庫(kù)URL或功能標(biāo)志可能是特定于dev,qa,production等環(huán)境的。

像大多數(shù)Spring開(kāi)發(fā)任務(wù)一樣,有多種方法可以解決問(wèn)題。 我的偏好基于以下假設(shè)和偏好:

  • 我們創(chuàng)建一個(gè)默認(rèn)的配置屬性文件(例如“ appConfig.properties”),并將其打包在可部署工件(JAR或WAR等)中
    • 該文件將包含一組合理的默認(rèn)“基線”屬性,應(yīng)用程序需要這些屬性才能成功運(yùn)行
  • 我們要通過(guò)位于已部署應(yīng)用程序的工作目錄中的外部文件覆蓋基準(zhǔn)appConfig.properties文件中的屬性
    • 我們通常將此文件命名為appConfigOverride.properties
  • 在執(zhí)行應(yīng)用程序或設(shè)置系統(tǒng)變量時(shí),可以通過(guò)在命令行上傳遞參數(shù)來(lái)覆蓋應(yīng)用程序?qū)傩?#xff0c;但這是一個(gè)單獨(dú)的主題

解決方案

我們?yōu)閍pplication-context.xml使用以下結(jié)構(gòu):

<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>

這里的關(guān)鍵是'order'屬性,當(dāng)在另一個(gè)文件中也找到該屬性(有效覆蓋另一個(gè)文件中的值)時(shí),該屬性將強(qiáng)制使用在appConfigOverride.properties中找到的屬性,以及'ignore-unresolvable = “ true” ignore-resource-not-found =“ true”'允許Spring在找不到外部文件(或不包含覆蓋appConfig文件的所有默認(rèn)屬性)的情況下繼續(xù)加載上下文

參考: The Tai-Dev Blog博客上的JCG合作伙伴 Daniel Bryant 通過(guò)外部文件覆蓋打包的Spring應(yīng)用程序?qū)傩晕募?。

翻譯自: https://www.javacodegeeks.com/2013/07/overriding-a-packaged-spring-application-properties-file-via-an-external-file.html

總結(jié)

以上是生活随笔為你收集整理的通过外部文件覆盖打包的Spring应用程序属性文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。