Spring Boot之Profile--快速搞定多環境使用與切換


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等高並發分布式、大數據、機器學習等技術。
關注下方公眾號即可免費領取:

Java碎碎念公眾號

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM