亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot修改yml配置和加載順序規(guī)則的示例詳解

 更新時間:2025年08月22日 10:31:22   作者:VipSoft  
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何修改yml配置和加載順序規(guī)則,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

Spring Boot 的配置加載順序規(guī)則

Spring Boot 有非常明確的配置加載順序和優(yōu)先級規(guī)則:

1. 格式優(yōu)先級高于Profile

對于相同名稱的配置文件,文件格式的優(yōu)先級是固定的,與加載順序無關(guān):

.properties > .yml > .yaml

也就是說,如果同時存在 application-vipsoft.propertiesapplication-vipsoft.yml

  • application-vipsoft.properties 中的配置會覆蓋 application-vipsoft.yml 中的相同配置
  • 這是由Spring Boot的設(shè)計決定的,properties文件的優(yōu)先級永遠(yuǎn)高于yml/yaml文件

2. 配置加載順序

Spring Boot 按以下順序加載配置(后面的覆蓋前面的):

  • Jar包內(nèi)的 application.yml (或application.properties)
  • Jar包內(nèi)的 application-{profile}.yml
  • Jar包外(同一目錄)的 application.yml
  • Jar包外(同一目錄)的 application-{profile}.yml
  • Jar包外(同一目錄)的 application.properties
  • Jar包外(同一目錄)的 application-{profile}.properties ← 優(yōu)先級最高
  • 命令行參數(shù)
  • 環(huán)境變量

配置方案

有時候運(yùn)行好多年的系統(tǒng),突然要改個配置。新的程序可能會產(chǎn)生BUG,那如何更新已有 yml 的值,有如下操作

參數(shù)形式

適合改動較少的情況

echo on
REM 后續(xù)命令使用的是:UTF-8編碼
echo chcp 65001

title HIS API DEV 8090

"%JAVA_HOME%\bin\java" -Dloader.path=D:\Software\JavaLib -Dfile.encoding=UTF-8 -jar his-web-1.0.0.jar --server.port=8090 --spring.profiles.active=vipsoft

pause

使用配置文件(推薦,最清晰、最易維護(hù))

這是Spring Boot應(yīng)用的首選方式。將那些不常改變的參數(shù)(尤其是數(shù)據(jù)庫連接、API地址等)移動到配置文件中。

1.創(chuàng)建/修改 application-vipsoft.yml 文件

由于您已經(jīng)指定了 --spring.profiles.active=vipsoft,Spring Boot會自動加載 application-vipsoft.yml。將這個文件放在與您的jar包同一目錄下

server:
  port: 22588

his:
  api-url: http://192.168.0.1/webservice/service.asmx?wsdl

spring:
  datasource:
    his:
      url: http://192.168.0.1/webservice/service.asmx?wsdl
      username: username
      password: pwd

2.簡化后的啟動命令

現(xiàn)在,啟動命令變得非常干凈,只需要關(guān)注核心的JVM參數(shù)和配置文件激活。

echo on
REM 后續(xù)命令使用的是:UTF-8編碼
echo chcp 65001

title HIS API DEV 8090

"%JAVA_HOME%\bin\java" -Dloader.path=D:\Software\JavaLib -Dfile.encoding=UTF-8 -jar his-web-1.0.0.jar --server.port=8090 --spring.profiles.active=vipsoft

pause

優(yōu)點(diǎn):

  • 命令極其簡潔,不易出錯。
  • 配置與代碼分離,安全性更高(尤其是密碼)。
  • 修改配置無需重新打包jar文件。
  • 不同環(huán)境(如測試、生產(chǎn))可以輕松使用不同的配置文件。

使用Shell腳本或Batch文件(Windows批處理)

對于Windows,創(chuàng)建一個 startup.bat 文件。

@echo off
title HIS API DEV 8090

set JAVA_OPTS=-Dloader.path=D:\Software\JavaLib -Dfile.encoding=UTF-8
set SPRING_OPTS=--spring.profiles.active=vipsoft --server.port=8090
set HIS_OPTS=--his.api-url=http://192.168.0.1/webservice/service.asmx?wsdl
set DS_OPTS=--spring.datasource.his.url="jdbc:sqlserver://192.168.0.2:1433;DatabaseName=XXX" --spring.datasource.his.username=username --spring.datasource.his.password=pwd

echo Starting application...
"%JAVA_HOME%\bin\java" %JAVA_OPTS% -jar his-web-1.0.0.jar %SPRING_OPTS% %HIS_OPTS% %DS_OPTS%

pause

優(yōu)點(diǎn):

  • 邏輯清晰,參數(shù)被分類設(shè)置。
  • 一鍵啟動,避免了每次輸入長命令。
  • 易于維護(hù)和修改參數(shù)。

使用環(huán)境變量

Spring Boot可以從環(huán)境變量中讀取配置,這是一種非常云原生的做法。

1.設(shè)置環(huán)境變量(可以在批處理文件中設(shè)置,也可以在系統(tǒng)高級設(shè)置中設(shè)置)

set SPRING_DATASOURCE_HIS_URL=jdbc:sqlserver://192.168.0.2:1433;DatabaseName=XXX
set SPRING_DATASOURCE_HIS_USERNAME=username
set SPRING_DATASOURCE_HIS_PASSWORD=pwd
set HIS_API_URL=http://192.168.0.1/webservice/service.asmx?wsdl

注意:Spring Boot將大寫環(huán)境變量中的 _ 視為配置中的 .,例如 SPRING_DATASOURCE_HIS_URL 對應(yīng) spring.datasource.his.url。

2. 啟動命令

echo on
REM 后續(xù)命令使用的是:UTF-8編碼
echo chcp 65001

title HIS API DEV 8090

"%JAVA_HOME%\bin\java" -Dloader.path=D:\Software\JavaLib -Dfile.encoding=UTF-8 -jar his-web-1.0.0.jar --server.port=8090 --spring.profiles.active=vipsoft

pause

優(yōu)點(diǎn):

  • 安全性高,敏感信息(如密碼)不出現(xiàn)在命令行或配置文件中。
  • 配置非常靈活,特別適合Docker、Kubernetes等容器化部署。

最佳實(shí)踐建議

  • 檢查jar包內(nèi):先用解壓軟件查看jar包內(nèi)是否已有 application-vipsoft.yml
  • 保持一致:外部配置文件格式盡量與內(nèi)部保持一致
  • 外部配置優(yōu)先:將需要修改的配置放在jar包外部的配置文件中,這樣升級jar包時配置不會丟失
  • 敏感信息處理:密碼等敏感信息最好不要寫在配置文件中,而是通過環(huán)境變量或命令行參數(shù)傳入

最終建議:檢查jar包內(nèi)的配置格式,然后在外部使用相同格式的配置文件,這樣最清晰易懂。

到此這篇關(guān)于SpringBoot修改yml配置和加載順序規(guī)則的示例詳解的文章就介紹到這了,更多相關(guān)SpringBoot修改配置加載順序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論