一般在我們項目開發過程中,會針對不同的環境來配置多個檔案,為了在我們使用的時候,便于部署,提高效率,減少出錯,便于維護。
dev環境:開發環境,主要針對本地開發使用,用于需求開發,BUG修改,本地調試使用。
test環境:測試環境,主要用于測試人員使用,變動比較大,主要用于需求驗證,BUG驗證,外部使用者無法通路。
pre環境:灰階環境(預上線環境),外部使用者可以通路,伺服器配置和生産一樣,但是配置相對較低。
pro環境:生産環境,主要面向外部使用者使用。
SpringBoot 環境打包:
SpringBoot的配置檔案預設為 application.properties 或 yaml檔案(此處僅為properties配置說明)。不同環境下的配置檔案由application-{profile}.properties管理,同時獨立的Profile配置檔案會覆寫預設檔案下的相同屬性。
在Spring Boot中多環境配置檔案名需要滿足application-{profile}.properties的格式,其中{profile}對應你的環境辨別
1 建立配置檔案application-dev.properties,此檔案為本地開發環境的配置檔案,添加如下内容
#設定端口号
server.port=8081
2 建立配置檔案allpication-test.properties,此檔案為測試環境的配置檔案,添加如下内容
#設定端口号
server.port=8082
3 在application.properties中配置如下資訊
#資料庫配置環境
spring.profiles.active= dev
通過spring.profiles.active來指定環境,這裡選擇的是本地開發環境,yaml 配置檔案也是同樣的原理
4 打成jar包,這裡隻示範maven指令打包
我在pom.xml檔案中,build标簽下,添加了跳過打包測試,以及打包名稱
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- maven 打包跳過測試 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
<!-- 項目打包名稱 -->
<finalName>Test</finalName>
</build>
進入到項目目錄下,通過dos視窗,或者idea指令行操作,輸入maven指令:mvn clean package 來進行打包
5 啟動jar包
進入到項目所在目錄,target目錄下
通過位址欄,輸入cmd,進入dos視窗
通過java -jar Test.jar 來進行啟動
我們可以看到,服務端口号為:8081,選擇的資料源為:dev環境
6 切換資料源
我們在程式啟動的時候,可以通過“java -jar 項目名稱.jar --spring.profiles.active=環境”來指定資料源來切換環境
java -jar Test.jar --spring.profiles.active=test
也可以在進行打包的時候,通過application.properties 檔案中 spring.profiles.active 屬性來進行手動切換