1. 程式人生 > 實用技巧 >6springboot的多環境設定和切換

6springboot的多環境設定和切換

springboot多環境設定和切換

一般開發中,都會用到各種環境去執行專案,比如 測試、開發、部署環境等。spring boot特供了多環境的切換和設定,環境切換有兩種方式。

  1. properties配置
  2. yml配置
  3. 動態切換

properties配置方式

spring boot預設會讀取application.properties配置檔案。

首先建立多個環境,就需要建立多個配置檔案,而且配置檔案命名有要求,例如:

  1. application-環境名.properties
  2. application-dev.properties
  3. application-test.properties

如果要選擇某一個具體的環境

,只需要在spring boot預設的配置檔案中宣告即可,如下圖:

在application.properties中使用 spring.profiles.active=環境名去聲明當前專案使用的環境,如果在配置檔案中輸入spring之後沒有提示後面的配置,應該是下面的依賴不存在或沒有生效,可以手動新增到pom.xml檔案中,下面的是我從spring boot裡面複製的,版本那裡有點問題,可以自行設定版本。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-configuration-processor</artifactId>
  <version>${spring-boot.version}</version>
</dependency>

yml配置方式

yml和properties不太一樣,不需要建立多個環境配置檔案,只需在yml檔案中宣告環境即可,如下:

注意每個環境之間使用---分隔(注意是三個---分隔),預設第一個是主環境。可以在預設環境指定使用其他環境。

spring:
    profiles:
      active: dev

以上程式碼是宣告要使用的環境。

spring:
  profiles: dev

以上程式碼是設定環境的名字,注意環境名字不要隨便起,有規範,可以百度一下,環境的縮寫形式。

動態切換

上面的兩種配置方式都是靜態,就是執行專案前指定使用的環境,那接下來使用動態方式進行配置。

  1. 通過執行引數指定環境

    • Idea : 在application主執行類滑鼠右鍵 -》 Edit 專案名application -》Program arguments -》輸入 --spring.profiles.active=環境名,如下圖

    • 通過maven的打jar包形式把專案打包,然後cmd執行,輸入 java -jar 專案名.jar spring.profiles.active=環境名
  2. 通過vm引數指定環境

    vm引數也在上圖中,就是上圖的VM options ,然後輸入:-Dspring.profiles.active=環境名,注意開頭是-D。