Springboot的application.properties或application.yml環(huán)境的指定運(yùn)行與配置方式
1.關(guān)于多個(gè)配置環(huán)境的指定運(yùn)行
我們在主配置文件編寫的時(shí)候,文件名可以是:application-{profile}.properties/yml
兩種文件的格式:
?默認(rèn)全局配置文件:
- application.properties : k=v,或行內(nèi)寫法(k: v,[Set/List/數(shù)組] {map,對象類型的屬性},并且 []可省,{}不能省)
- application.yml : yaml ain't myarkup language ,不是一個(gè)標(biāo)記文檔
注意:
1. k:空格v 2.通過垂直對齊 指定層次關(guān)系 3.默認(rèn)可以不寫引號(hào); ""會(huì)將其中的轉(zhuǎn)義符進(jìn)行轉(zhuǎn)義,其他不會(huì)
一般分為開發(fā)、測試、運(yùn)行,命名要求要規(guī)范,下圖有詳細(xì)示例
1.1多個(gè)properties
默認(rèn)使用application.properties的配置
目錄可以如下:


?如果要選擇某一個(gè)具體的環(huán)境: application.properties中指定:spring.profiles.active=環(huán)境名
如果將application.properties注釋掉,spring boot仍然會(huì)讀取其他appilcation-環(huán)境名.properties中的配置。并且properties的優(yōu)先級高于yml
1.2yml支持多文檔塊方式
通過—將文檔分成多文檔塊:
注意格式首行同則相當(dāng)于在同一目錄
server:
port: 8081
spring:
profiles:
active: prod
#文檔塊一
---
server:
port: 8083
spring:
profiles: dev
#文檔塊二
---
server:
port: 8084
spring:
profiles: prod #指定屬于哪個(gè)環(huán)境
#文檔塊三
1.3激活指定profile
配置文件中指定
使用spring.profiles.active激活指定profile
1.3.1 application.properties

1.3.2 application.yml
通過dev或prod指定當(dāng)前運(yùn)行的環(huán)境

?程序參數(shù)指定
程序參數(shù)中添加–spring.profiles.acprotive激活指定profile

虛擬機(jī)參數(shù)指定
在VM options中添加-Dspring.profiles.active=dev

1.4 動(dòng)態(tài)切換環(huán)境總結(jié)
? i:通過運(yùn)行參數(shù)指定環(huán)境
(1)STS(Eclipse) :Run Configuration - Argument - program Argument
- --spring.profiles.active=環(huán)境名
(2)命令行方式:
- java -jar 項(xiàng)目名.jar --spring.profiles.active=環(huán)境名
ii:通過vm參數(shù)指定環(huán)境
- STS(Eclipse) :Run Configuration - Argument - VM
- -Dspring.profiles.active=環(huán)境名
2.關(guān)于配置文件路徑的讀取順序
–file:./config/ –file:./ –classpath:/config/ –classpath:/

優(yōu)先級由高到底,高優(yōu)先級的配置會(huì)覆蓋低優(yōu)先級的配置
SpringBoot會(huì)從這四個(gè)位置全部加載主配置文件,互補(bǔ)配置


最終讀取文件運(yùn)行情況:

項(xiàng)目打包好以后,我們可以使用命令行參數(shù)的形式,啟動(dòng)項(xiàng)目的時(shí)候來指定配置文件的新位置;指定配置文件和默認(rèn)加載的這些配置文件共同起作用形成互補(bǔ)配置;(SpringBoot2.0版本之后指定文件與默認(rèn)配置不會(huì)形成互補(bǔ)配置,只是指定文件中的配置生效)
java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar –spring.config.location=文件路徑

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java使用線程池批量處理數(shù)據(jù)操作具體流程
這篇文章主要給大家介紹了關(guān)于Java使用線程池批量處理數(shù)據(jù)操作的相關(guān)資料,Java多線程編程中線程池是一個(gè)非常重要的概念,線程池可以提高線程的復(fù)用率和任務(wù)調(diào)度的效率,尤其是當(dāng)需要查詢大批量數(shù)據(jù)時(shí),需要的朋友可以參考下2023-06-06
Spring?Data?JPA實(shí)現(xiàn)查詢結(jié)果返回map或自定義的實(shí)體類
這篇文章主要介紹了Spring?Data?JPA實(shí)現(xiàn)查詢結(jié)果返回map或自定義的實(shí)體類,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
在SpringMVC框架下實(shí)現(xiàn)文件的上傳和下載示例
本篇文章主要介紹了在SpringMVC框架下實(shí)現(xiàn)文件的上傳和下載示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-02-02
解決Springboot get請求是參數(shù)過長的情況
這篇文章主要介紹了解決Springboot get請求是參數(shù)過長的情況,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
maven在settings.xml和pom.xml中指定jdk版本編譯的方法
在開發(fā)Java應(yīng)用時(shí),通常需要指定要使用的Java版本,下面這篇文章主要給大家介紹了關(guān)于maven在settings.xm和pom.xml中指定jdk版本編譯的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
springboot2.0以上調(diào)度器配置線程池的實(shí)現(xiàn)
這篇文章主要介紹了springboot2.0以上調(diào)度器配置線程池的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12

