一般在我們項目開發過程中,會針對不同的環境來配置多個文件,爲了在我們使用的時候,便於部署,提高效率,減少出錯,便於維護。
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 屬性來進行手動切換