SpringBoot配置-profile的使用


前言:在實際開發時,我們可能會有開發環境、測試環境、生產環境,這三個環境的配置信息會不同(數據庫連接信息、數據庫連接池配置等)。SpringBoot提供了profile功能,可以通過核心配置文件進行動態配置切換。

由於SpringBoot有兩種配置文件格式,profile在實現上也有區別。
1、 .properties;
2、 .yml(.yaml);

在.properties格式配置文件中實現動態切換配置的功能:

一、SpringBoot項目默認啟動時,控制台日志提示了未設置profile激活功能

二、.properties格式配置文件設置三個子配置文件

三、三個子配置文件application-dev.properties、application-test.properties、application-pro.properties中分別設置server.port=8081、server.port=8082、server.port=8083,此時我們繼續啟動程序,發現雖然我們在三個子配置文件中分別設置了中間件(tomcat)的端口,但是都未生效。

四、此時,我們在核心配置文件application.properties中設置屬性spring.profiles.active=dev,再啟動程序,發現application-dev.properties被激活了,啟動端口號也修改為子配置文件設置的端口號。

五、按照上述方法,在核心配置文件application.properties中設置屬性spring.profiles.active=test,再啟動程序

如此,便在application.properties中實現了使用profile動態切換配置的功能

在.yml格式配置文件中實現動態切換配置的功能

一、先將.properties文件中的設置都注釋掉,否則.yml由於加載優先級低,不會生效。.yml格式的配置文件新增了一個屬性,此屬性在.properties文件中並沒有,可以通過IDE提示驗證

二、在一個文件中使用--- 進行隔離不同的配置

spring:
  profiles:
    active: dev
---
spring:
  profiles: dev
server:
  port: 8091
---
spring:
  profiles: test
server:
  port: 8092
---
spring:
  profiles: pro
server:
  port: 8093

三、測試可知

profile激活方式
上述介紹的主要是配置方式,激活方式是通過配置文件的spring.profiles.active屬性實現了,還有兩種激活配置文件的方式

通過設置虛擬機參數

一、虛擬機參數,打開IDEA相關設置

二、設置虛擬機啟動參數,參數值為-D:spring.profiles.active=pro(-D為固定寫法)

三、啟動程序,測試結果

通過設置應用程序參數

一、設置應用程序參數,參數前使用兩個杠杠--

二、啟動測試效果

通過設置命令行參數,啟動程序

通過IDEA啟動SpringBoot項目,我們可以切換配置,實際工作中,可以通過打成可執行jar,啟動程序時,設置命令行啟動參數,實現動態切換配置

一、打可執行的jar包

二、命令行中,啟動程序(java -jar springboot-profiles-0.0.1-SNAPSHOT.jar --spring.profiles.active=pro)

三、測試結果


免責聲明!

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



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