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

Spring Profile是Spring3引入的概念,主要用在項目多環境運行的狀況下,經過激活方式實現多環境切換,省去多環境切換時配置參數和文件的修改,而且Spring profile提供了多種激活方法,例如配置文件,命令行,jvm參數設置等,下面將詳細介紹下。css

本文目錄

1、爲何要使用Profile2、Spring Profile激活方式一、配置文件激活二、命令行三、虛擬機參數四、在Java代碼中激活java

1、爲何要使用Profile

在平時在開發時,常常會出如今開發的時候使用一個開發數據庫,測試的時候使用一個測試的數據庫,而實際部署的時候須要一個數據庫。之前的作法是將這些信息寫在一個配置文件中,當我把代碼部署到測試的環境中,將配置文件改爲測試環境;當測試完成,項目須要部署到現網了,又要將配置信息改爲現網的,既麻煩又容易出現問題。nginx

而使用了Profile以後,咱們就能夠分別定義3個配置文件,一個用於開發、一個用戶測試、一個用戶生產,其分別對應於3個Profile。當在實際運行的時候,只需給定一個參數來激活對應的Profile便可,那麼容器就會只加載激活後的配置文件,這樣就能夠大大省去咱們修改配置信息而帶來的煩惱。web

2、Spring Profile激活方式

針對上面的問題,咱們能夠採用以下的方案來解決:spring

在代碼中新增多個配置文件,文件名能夠是
application-{profile}.properties,而後在applcation.properties文件中配置激活profile。數據庫

例如咱們的應用環境有:dev、uat、prodapache

那麼,咱們能夠添加 4 個配置文件:跨域

applcation.properties - 公共配置
application-dev.properties - 開發環境配置
application-uat.properties - 測試環境配置
application-prod.properties - 生產環境配置session

下面介紹下激活profile的方式:併發

一、配置文件激活

在applcation.properties文件 中能夠經過如下配置來激活 profile:

# 激活dev環境的配置
spring.profiles.active = dev

spring.profiles.active = dev 表示當前環境激活application-dev.properties文件中的配置。

二、命令行

在 運行java -jar 時候激活:

java -jar spring-boot-demo.jar --spring.profiles.active=dev

三、虛擬機參數

配置虛擬機參數激活:

-Dspring.profiles.active=dev


 

四、在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碎碎念公衆號
相關文章
相關標籤/搜索