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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

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

發布時間:2023/12/3 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过外部文件覆盖打包的Spring应用程序属性文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開發Spring應用程序時,最常見的用例是您希望擁有多個版本的配置屬性,具體取決于要部署到的位置,例如,數據庫URL或功能標志可能是特定于dev,qa,production等環境的。

像大多數Spring開發任務一樣,有多種方法可以解決問題。 我的偏好基于以下假設和偏好:

  • 我們創建一個默認的配置屬性文件(例如“ appConfig.properties”),并將其打包在可部署工件(JAR或WAR等)中
    • 該文件將包含一組合理的默認“基線”屬性,應用程序需要這些屬性才能成功運行
  • 我們要通過位于已部署應用程序的工作目錄中的外部文件覆蓋基準appConfig.properties文件中的屬性
    • 我們通常將此文件命名為appConfigOverride.properties
  • 在執行應用程序或設置系統變量時,可以通過在命令行上傳遞參數來覆蓋應用程序屬性,但這是一個單獨的主題

解決方案

我們為application-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文件的所有默認屬性)的情況下繼續加載上下文

參考: The Tai-Dev Blog博客上的JCG合作伙伴 Daniel Bryant 通過外部文件覆蓋打包的Spring應用程序屬性文件 。

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。