6springboot的多環境設定和切換
阿新 • • 發佈:2020-08-27
springboot多環境設定和切換
一般開發中,都會用到各種環境去執行專案,比如 測試、開發、部署環境等。spring boot特供了多環境的切換和設定,環境切換有兩種方式。
- properties配置
- yml配置
- 動態切換
properties配置方式
spring boot預設會讀取application.properties配置檔案。
首先建立多個環境,就需要建立多個配置檔案,而且配置檔案命名有要求,例如:
- application-環境名.properties
- application-dev.properties
- application-test.properties
如果要選擇某一個具體的環境
在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
以上程式碼是設定環境的名字,注意環境名字不要隨便起,有規範,可以百度一下,環境的縮寫形式。
動態切換
上面的兩種配置方式都是靜態,就是執行專案前指定使用的環境,那接下來使用動態方式進行配置。
-
通過執行引數指定環境
- Idea : 在application主執行類滑鼠右鍵 -》 Edit 專案名application -》Program arguments -》輸入 --spring.profiles.active=環境名,如下圖
- 通過maven的打jar包形式把專案打包,然後cmd執行,輸入 java -jar 專案名.jar spring.profiles.active=環境名
-
通過vm引數指定環境
vm引數也在上圖中,就是上圖的VM options ,然後輸入:-Dspring.profiles.active=環境名,注意開頭是-D。