Spring Profile是Spring3引入的概念,主要用在項目多環境運行的情況下,通過激活方式實現多環境切換,省去多環境切換時配置參數和文件的修改,並且Spring profile提供了多種激活方法,例如配置文件,命令行,jvm參數設置等,下面將詳細介紹下。
本文目錄
一、為什么要使用Profile二、Spring Profile激活方式1、配置文件激活2、命令行3、虛擬機參數4、在Java代碼中激活
一、為什么要使用Profile
在平時在開發時,經常會出現在開發的時候使用一個開發數據庫,測試的時候使用一個測試的數據庫,而實際部署的時候需要一個數據庫。以前的做法是將這些信息寫在一個配置文件中,當我把代碼部署到測試的環境中,將配置文件改成測試環境;當測試完成,項目需要部署到現網了,又要將配置信息改成現網的,既麻煩又容易出現問題。
而使用了Profile之后,我們就可以分別定義3個配置文件,一個用於開發、一個用戶測試、一個用戶生產,其分別對應於3個Profile。當在實際運行的時候,只需給定一個參數來激活對應的Profile即可,那么容器就會只加載激活后的配置文件,這樣就可以大大省去我們修改配置信息而帶來的煩惱。
二、Spring Profile激活方式
針對上面的問題,我們可以采用如下的方案來解決:
在代碼中新增多個配置文件,文件名可以是
application-{profile}.properties,然后在applcation.properties文件中配置激活profile。
例如我們的應用環境有:dev、uat、prod
那么,我們可以添加 4 個配置文件:
applcation.properties - 公共配置
application-dev.properties - 開發環境配置
application-uat.properties - 測試環境配置
application-prod.properties - 生產環境配置
下面介紹下激活profile的方式:
1、配置文件激活
在applcation.properties文件 中可以通過以下配置來激活 profile:
# 激活dev環境的配置
spring.profiles.active = dev
spring.profiles.active = dev 表示當前環境激活application-dev.properties文件中的配置。
2、命令行
在 運行java -jar 時候激活:
java -jar spring-boot-demo.jar --spring.profiles.active=dev
3、虛擬機參數
配置虛擬機參數激活:
-Dspring.profiles.active=dev

4、在Java代碼中激活
在spring boot啟動類添加如下代碼即可:
System.setProperty("spring.profiles.active", "test");
Spring Boot之Profile多環境使用與切換的東西介紹完成啦,有任何問題歡迎留言溝通哦
推薦閱讀
1.Spring Boot 2.X 整合Redis
2.Spring Boot 2.X 如何優雅的解決跨域問題?
3.Spring Boot 2.X 集成spring session實現session共享
4.Spring條件注解@Conditional
5.SpringBoot 2.X從0到1實現郵件發送功能
6.Redis批量刪除key的小技巧,你知道嗎?
7.Spring Boot 2.X 如何快速整合jpa?
限時領取免費Java相關資料,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高並發分布式、大數據、機器學習等技術。
關注下方公眾號即可免費領取:
