最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot多環(huán)境配置及配置文件分類實例詳解

 更新時間:2022年10月11日 09:24:08   作者:|舊市拾荒|  
這篇文章主要介紹了SpringBoot多環(huán)境配置及配置文件分類,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

一、多環(huán)境配置

在工作中,對于開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境的配置肯定都不相同,比如我們開發(fā)階段會在自己的電腦上安裝 mysql ,連接自己電腦上的 mysql 即可,但是項目開發(fā)完畢后要上線就需要該配置,將環(huán)境的配置改為線上環(huán)境的。

來回的修改配置會很麻煩,而 SpringBoot 給開發(fā)者提供了多環(huán)境的快捷配置,需要切換環(huán)境時只需要改一個配置即可。不同類型的配置文件多環(huán)境開發(fā)的配置都不相同,接下來對不同類型的配置文件進(jìn)行說明

1.1 yaml文件

application.yml 中使用 --- 來分割不同的配置,內(nèi)容如下

#開發(fā)
spring:
  profiles: dev #給開發(fā)環(huán)境起的名字
server:
  port: 80
---
#生產(chǎn)
spring:
  profiles: pro #給生產(chǎn)環(huán)境起的名字
server:
  port: 81
---
#測試
spring:
  profiles: test #給測試環(huán)境起的名字
server:
  port: 82
---

上面配置中 spring.profiles 是用來給不同的配置起名字的。而如何告知 SpringBoot 使用哪段配置呢?可以使用如下配置來啟用都一段配置

#設(shè)置啟用的環(huán)境
spring:
  profiles:
    active: dev  #表示使用的是開發(fā)環(huán)境的配置

綜上所述,application.yml 配置文件內(nèi)容如下

#設(shè)置啟用的環(huán)境
spring:
  profiles:
    active: dev
?
---
#開發(fā)
spring:
  profiles: dev
server:
  port: 80
---
#生產(chǎn)
spring:
  profiles: pro
server:
  port: 81
---
#測試
spring:
  profiles: test
server:
  port: 82
---

注意:在上面配置中給不同配置起名字的 spring.profiles 配置項已經(jīng)過時。最新用來起名字的配置項是

#開發(fā)
spring:
  config:
    activate:
      on-profile: dev

1.2 properties文件

properties 類型的配置文件配置多環(huán)境需要定義不同的配置文件

  • application-dev.properties 文件是開發(fā)環(huán)境的配置文件。我們在該文件中配置端口號為 80
server.port=80
  • application-test.properties 文件是測試環(huán)境的配置文件。我們在該文件中配置端口號為 81
server.port=81
  • application-pro.properties 文件是生產(chǎn)環(huán)境的配置文件。我們在該文件中配置端口號為 82
server.port=82
  • SpringBoot 只會默認(rèn)加載名為 application.properties 的配置文件,所以需要在 application.properties 配置文件中設(shè)置啟用哪個配置文件,配置如下:
spring.profiles.active=pro

1.3 命令行啟動參數(shù)設(shè)置

使用 SpringBoot 開發(fā)的程序以后都是打成 jar 包,通過 java -jar xxx.jar 的方式啟動服務(wù)的。那么就存在一個問題,如何切換環(huán)境呢?因為配置文件打到的jar包中了。

我們知道 jar 包其實就是一個壓縮包,可以解壓縮,然后修改配置,最后再打成jar包就可以了。這種方式顯然有點麻煩,而 SpringBoot 提供了在運(yùn)行 jar 時設(shè)置開啟指定的環(huán)境的方式,如下

java –jar xxx.jar –-spring.profiles.active=test

那么這種方式能不能臨時修改端口號呢?也是可以的,可以通過如下方式

java –jar xxx.jar –-server.port=88

當(dāng)然也可以同時設(shè)置多個配置,比如即指定啟用哪個環(huán)境配置,又臨時指定端口,如下

java –jar springboot.jar –-server.port=88 –-spring.profiles.active=test

大家進(jìn)行測試后就會發(fā)現(xiàn)命令行設(shè)置的端口號優(yōu)先級高(也就是使用的是命令行設(shè)置的端口號),配置的優(yōu)先級其實 SpringBoot 官網(wǎng)已經(jīng)進(jìn)行了說明,參見 :

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-external-config

進(jìn)入上面網(wǎng)站后會看到如下頁面

如果使用了多種方式配合同一個配置項,優(yōu)先級高的生效。

二、配置文件分類

有這樣的場景,我們開發(fā)完畢后需要測試人員進(jìn)行測試,由于測試環(huán)境和開發(fā)環(huán)境的很多配置都不相同,所以測試人員在運(yùn)行我們的工程時需要臨時修改很多配置,如下

java –jar springboot.jar –-spring.profiles.active=test --server.port=85 --server.servlet.context-path=/heima --server.tomcat.connection-timeout=-1 …… …… …… …… ……

針對這種情況,SpringBoot 定義了配置文件不同的放置的位置;而放在不同位置的優(yōu)先級時不同的。

SpringBoot 中4級配置文件放置位置:

  • 1級:resources/application.yml

  • 2級:resources/config/application.yml

  • 3級:target/application.yml

  • 4級:target/config/application.yml

說明:級別越高優(yōu)先級越高

3級與4級留作系統(tǒng)打包后設(shè)置通用屬性

1級與2級用于系統(tǒng)開發(fā)階段設(shè)置通用屬性

2.1 代碼演示

2.1.1 環(huán)境準(zhǔn)備

創(chuàng)建一個名為 springboot_06_config_fileSpringBoot 工程,,參考SpringBoot快速入門及起步依賴解析,目錄結(jié)構(gòu)如下

resources 下創(chuàng)建一個名為 config 的目錄,在該目錄中創(chuàng)建 application.yml 配置文件,而在該配置文件中將端口號設(shè)置為 81,內(nèi)容如下

server:
  port: 81

而在 resources 下創(chuàng)建的 application.yml 配置文件中并將端口號設(shè)置為 80,內(nèi)容如下

server:
  port: 80

2.1.2 驗證1級和2級的優(yōu)先級

運(yùn)行啟動引導(dǎo)類,可以在控制臺看到如下日志信息

通過這個結(jié)果可以得出類路徑下的 config 下的配置文件優(yōu)先于類路徑下的配置文件。

2.1.3 驗證2級和4級的優(yōu)先級

要驗證4級,按照以下步驟完成

將工程打成 jar

點擊工程的 package 來打 jar

在硬盤上找到 jar 包所在位置

  • jar 包所在位置創(chuàng)建 config 文件夾,在該文件夾下創(chuàng)建 application.yml 配置文件,而在該配合文件中將端口號設(shè)置為 82

在命令行使用以下命令運(yùn)行程序

java -jar springboot_06_config_file-0.0.1-SNAPSHOT.jar

運(yùn)行后日志信息如下

通過這個結(jié)果可以得出file: config 下的配置文件優(yōu)先于類路徑下的配置文件。

注意:

SpringBoot 2.5.0版本存在一個bug,我們在使用這個版本時,需要在 jar 所在位置的 config 目錄下創(chuàng)建一個任意名稱的文件夾

到此這篇關(guān)于SpringBoot多環(huán)境配置及配置文件分類的文章就介紹到這了,更多相關(guān)SpringBoot多環(huán)境配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot 調(diào)度任務(wù)及常用任務(wù)表達(dá)式

    SpringBoot 調(diào)度任務(wù)及常用任務(wù)表達(dá)式

    這篇文章主要介紹了SpringBoot 調(diào)度任務(wù)及常用任務(wù)表達(dá)式,需要的朋友可以參考下
    2017-12-12
  • 詳解Spring 兩種注入的方式(Set和構(gòu)造)實例

    詳解Spring 兩種注入的方式(Set和構(gòu)造)實例

    本篇文章主要介紹了Spring 兩種注入的方式(Set和構(gòu)造)實例,Spring框架主要提供了Set注入和構(gòu)造注入兩種依賴注入方式。有興趣的可以了解一下。
    2017-02-02
  • IDEA生成標(biāo)準(zhǔn)JavaBean的幾種方法總結(jié)

    IDEA生成標(biāo)準(zhǔn)JavaBean的幾種方法總結(jié)

    標(biāo)準(zhǔn)javaBean是定義一個類的標(biāo)準(zhǔn)結(jié)構(gòu),下面這篇文章主要給大家總結(jié)介紹了關(guān)于IDEA生成標(biāo)準(zhǔn)JavaBean的幾種方法,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • Java 十大排序算法之歸并排序刨析

    Java 十大排序算法之歸并排序刨析

    歸并排序是采用分治法的一個非常典型的應(yīng)用。先使每個子序列有序,再使子序列段間有序,也就是將已有的子序列合并,得到完全有序的序列;如果將兩個有序表合并成一個有序表,稱為二路歸并
    2021-11-11
  • java io讀取文件操作代碼實例

    java io讀取文件操作代碼實例

    這篇文章主要介紹了java io讀取文件操作代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Java使用位運(yùn)算實現(xiàn)加減乘除詳解

    Java使用位運(yùn)算實現(xiàn)加減乘除詳解

    這篇文章主要為大家詳細(xì)介紹了Java如何使用位運(yùn)算實現(xiàn)加減乘除,文中的示例代碼講解詳細(xì),對我們深入了解Java有一定的幫助,感興趣的可以了解一下
    2023-05-05
  • 利用Java實現(xiàn)網(wǎng)站聚合工具

    利用Java實現(xiàn)網(wǎng)站聚合工具

    互聯(lián)網(wǎng)上有數(shù)以萬億計的網(wǎng)站,每個網(wǎng)站大都具有一定的功能。搜索引擎雖然對互聯(lián)網(wǎng)上的部分網(wǎng)站建立了索引,但是其作為一個大而全的搜索系統(tǒng),無法很好的定位到一些特殊的需求。因此本文將介紹一個用java實現(xiàn)的網(wǎng)站數(shù)據(jù)聚合工具,需要的可以參考一下
    2022-01-01
  • java的三種隨機(jī)數(shù)生成方式的實現(xiàn)方法

    java的三種隨機(jī)數(shù)生成方式的實現(xiàn)方法

    這篇文章主要介紹了java的三種隨機(jī)數(shù)生成方式的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • java如何讀取文件目錄返回樹形結(jié)構(gòu)

    java如何讀取文件目錄返回樹形結(jié)構(gòu)

    這篇文章主要介紹了java如何讀取文件目錄返回樹形結(jié)構(gòu)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Spring Boot 自動配置之條件注解淺析

    Spring Boot 自動配置之條件注解淺析

    這篇文章主要介紹了Spring Boot 自動配置之條件注解淺析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02

最新評論

东莞市| 双鸭山市| 桐柏县| 石景山区| 改则县| 荔浦县| 栾城县| 盈江县| 杨浦区| 眉山市| 邳州市| 方山县| 齐河县| 布拖县| 含山县| 乌兰浩特市| 张家口市| 明溪县| 台中市| 南郑县| 教育| 江孜县| 富平县| 江达县| 白玉县| 赤城县| 遂昌县| 滕州市| 双柏县| 义马市| 万源市| 长汀县| 彭泽县| 罗江县| 道真| 获嘉县| 金寨县| 京山县| 井研县| 含山县| 洛阳市|