欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文掌握SpringBoot多環(huán)境配置

 更新時間:2024年04月01日 09:16:19   作者:xiezhr  
在實際項目的開發(fā)過程中,我們程序往往需要在不同環(huán)境中運行,每個環(huán)境中的配置參數(shù)可能都會有所不同,例如數(shù)據(jù)庫連接信息、文件服務(wù)器等等,下面小編給大家介紹SpringBoot多環(huán)境配置,感興趣的朋友一起看看吧

寫在前面

在實際項目的開發(fā)過程中,我們程序往往需要在不同環(huán)境中運行。例如:開發(fā)環(huán)境、測試環(huán)境和生產(chǎn)環(huán)境。

每個環(huán)境中的配置參數(shù)可能都會有所不同,例如數(shù)據(jù)庫連接信息、文件服務(wù)器等等。

Spring Boot 提供了非常方便的方式來管理這些不同環(huán)境的配置。

一、Spring Profile 介紹

Spring ProfileSpring 框架用于處理不同環(huán)境配置的解決方案。

Profile 可以幫助我們在不改變應用代碼的情況下,根據(jù)當前環(huán)境動態(tài)地激活或者切換不同的配置。

Spring Boot 為每個 Profile 提供了一個獨立的 application.properties(或 application.yml)配置文件。

默認情況下,Spring Boot 使用的是 application.properties 文件。

當你激活一個特定的 Profile 時,Spring Boot 會查找名為 application-{profile}.properties 的文件,并把其中的屬性加載到 Spring Environment 中。

二、Properties與YAML

Spring Boot支持使用PropertiesYAML兩種配置方式。

兩者功能類似,都能完成Spring Boot的配置,但是Properties的優(yōu)先級要高于YMAL

2.1 Properties

  • Spring Boot 默認的配置文件格式
  • 以“.”為分割的key=value鍵值對,例如,指定端口為8080 配置如下

server.port=8080

不支持復雜的數(shù)據(jù)結(jié)構(gòu),只支持字符串類型的鍵值對。因此,它的使用適用于簡單的配置場景

2.2YAML 

采用樹狀結(jié)構(gòu),一目了然

server:
 port: 8080

  • 在key后的冒號一定要跟一個空格,如“port: 8080”
  • YAML 格式文件不支持注解@PropertySource導入配置
  • 支持復雜的數(shù)據(jù)結(jié)構(gòu),如列表和鍵值對,因此,YAML 的使用適用于需要表示復雜數(shù)據(jù)結(jié)構(gòu)的場合

2.3 如何選擇

  • Spring Boot 應用中,你可以根據(jù)自己的實際需求,選擇使用 YAML 還是 Properties 格式的配置文件。
  • 如果你的配置比較簡單,Properties 格式可能會更好些。
  • 如果你的配置比較復雜,或者你希望配置文件更具可讀性,那么 YAML 格式可能是更好的選擇

三、創(chuàng)建配置文件

3.1 創(chuàng)建配置文件

在實際項目開發(fā)中,我們一般有三個環(huán)境:開發(fā)(dev)、測試(test)、生產(chǎn)(prod)。我們需要建立如下幾個配置文件

  • application.yml 或者application.properties 用于存放所有環(huán)境通用的配置
  • application-dev.yml或者application-dev.properties 存放開發(fā)環(huán)境的特殊配置
  • application-test.yml或者application-test.properties 存放測試環(huán)境的特殊配置
  • application-prod.yml或者application-prod.properties 存放生產(chǎn)環(huán)境的特殊配置

3.2 配置文件內(nèi)容

①配置開發(fā)環(huán)境

application-dev.yml

server:
 port: 8080
 tomcat:
  uri-encoding: UTF-8
environment:
 name: 開發(fā)環(huán)境

application-dev.properties

server.port=8080
server.tomcat.uri-encoding=UTF-8
environment.name=開發(fā)環(huán)境

②配置生產(chǎn)環(huán)境

application-prod.yml

server:
 port: 8090
 tomcat:
  uri-encoding: UTF-8
environment:
 name: 生產(chǎn)環(huán)境

application-prod.properties

server.port=8090
server.tomcat.uri-encoding=UTF-8
environment.name=生產(chǎn)環(huán)境

application-test.ymlapplication-test.properties 配置文件類似,由于篇幅原因,這里就不一一例舉了

四、激活 Profile

在上一小節(jié)中,我們創(chuàng)建了三個配置文件即配置了三種環(huán)境,那么我們怎么才能激活對應環(huán)境呢

4.1 配置文件激活

其實很多簡單,我們只需要在application.yml 或者application.properties 添加如下配置即可,即可激活開發(fā)環(huán)境

application.yml

# application.yml
spring
 profiles:
  active: dev

application.properties

spring.profiles.active=dev

4.2 啟動參數(shù)激活

在命令行中設(shè)置 spring.profiles.active 系統(tǒng)屬性。

例如,你可以使用以下命令來啟動你的應用,并激活 "prod" 環(huán)境:

# 企業(yè)級項目開發(fā)中,針對生產(chǎn)環(huán)境,一般通過啟動命令再指定激活生產(chǎn) 環(huán)境
java -jar $APP_NAME --spring.profiles.active=prod

4.3 環(huán)境變量激活

我們還可以通過配置服務(wù)器系統(tǒng)環(huán)境變量來激活環(huán)境,在環(huán)境變量中設(shè)置SPRING_PROFILES_ACTIVE 即可,不過這種方式不常用,了解即可

五、測試是否生效

上一小節(jié)中,我們通過配置激活了開發(fā)環(huán)境,我們就來實際驗證以下是否生效。

出現(xiàn)下圖紅框表示部分,說明我們激活了dev 開發(fā)環(huán)境

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

相關(guān)文章

  • SpringBoot構(gòu)建RESTful API的實現(xiàn)示例

    SpringBoot構(gòu)建RESTful API的實現(xiàn)示例

    本文主要介紹了SpringBoot構(gòu)建RESTful API的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • Java常用類之System類的使用指南

    Java常用類之System類的使用指南

    System類代表系統(tǒng),系統(tǒng)級的很多屬性和控制方法都放置在該類的內(nèi)部。該類位于java.lang包。本文將通過示例為大家詳細講講System類的使用,需要的可以參考一下
    2022-07-07
  • Java中List排序的三種實現(xiàn)方法實例

    Java中List排序的三種實現(xiàn)方法實例

    其實Java針對數(shù)組和List的排序都有實現(xiàn),對數(shù)組而言你可以直接使用Arrays.sort,對于List和Vector而言,你可以使用Collections.sort方法,下面這篇文章主要給大家介紹了關(guān)于Java中List排序的三種實現(xiàn)方法,需要的朋友可以參考下
    2021-12-12
  • Spring Boot Admin微服務(wù)應用監(jiān)控的實現(xiàn)

    Spring Boot Admin微服務(wù)應用監(jiān)控的實現(xiàn)

    這篇文章主要介紹了Spring Boot Admin微服務(wù)應用監(jiān)控,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Eclipse智能提示及快捷鍵

    Eclipse智能提示及快捷鍵

    本文主要介紹了Eclipse智能提示及快捷鍵的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • 解決java編譯錯誤:程序包不存在的問題

    解決java編譯錯誤:程序包不存在的問題

    出錯:Error:(3, 27) java: 程序包com.aliyun.odps.udf不存在,遇到這樣的錯誤問題如何解決呢,下面小編給大家?guī)砹薺ava編譯錯誤:程序包不存在的問題及解決方法,感興趣的朋友一起看看吧
    2023-05-05
  • Java Spring框架簡介與Spring IOC詳解

    Java Spring框架簡介與Spring IOC詳解

    Spring 框架是一個輕量級的解決方案,可以一站式地構(gòu)建企業(yè)級應用。它是為了解決 企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的事情。IOC 是 Inversion of Control 的縮寫,多數(shù)書籍翻譯成控制反轉(zhuǎn)
    2021-09-09
  • Java中InputSteam怎么轉(zhuǎn)String

    Java中InputSteam怎么轉(zhuǎn)String

    面了一位實習生,叫他給我說一下怎么把InputStream轉(zhuǎn)換為String,這種常規(guī)的操作,他竟然都沒有用過我準備結(jié)合工作經(jīng)驗,整理匯集出了InputStream 到String 轉(zhuǎn)換的十八般武藝,助大家闖蕩 Java 江湖一臂之力,需要的朋友可以參考下
    2021-06-06
  • 淺談Java中replace與replaceAll區(qū)別

    淺談Java中replace與replaceAll區(qū)別

    這篇文章主要介紹了Java中replace與replaceAll區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • java報錯:“錯誤:編碼GBK?的不可映射字符”解決辦法

    java報錯:“錯誤:編碼GBK?的不可映射字符”解決辦法

    當Java源代碼中包含中文字符時,我們在用javac編譯時會出現(xiàn)“錯誤:編碼GBK的不可映射字符”,這篇文章主要給大家介紹了關(guān)于java報錯:“錯誤:編碼GBK?的不可映射字符”的解決辦法,需要的朋友可以參考下
    2024-08-08

最新評論