Spring Boot 入門系列(二十四)多環境配置,3分鍾搞定!


之前講過Spring Boot 的系統配置和自定義配置,實現了按照實際項目的要求配置系統的相關熟悉。但是,在實際項目開發過程中,需要面對不同的環境,例如:開發環境,測試環境,生產環境。各個環境的數據庫、Redis服務器等配置有可能不同,這就需要頻繁的手動修改相關系統配置。這種方式特別麻煩,費時費力,而且出錯的概率還極大。慶幸的是,Spring Boot 為我們提供了更加簡單方便的配置方案來解決多環境的配置問題,下面就來聊一聊Spring Boot 系統配置之多環境配置實現。

 

一、增加配置文件

首先,在resource 目錄下,分別創建 application-dev.properties、application-test.properties 和 application-production.properties 三個配置文件對應:開發環境、測試環境 和 生產環境。如下圖所示:

根據開發、測試、生產等三個常見的環境分成了三個配置文件,分別配置上面三個環境的各自的配置項。

說明:

  application.properties 為項目主配置文件,包含項目所需的所有公共配置。

  application-dev.properties 為開發環境配置文件,配置開發環境所需的單獨配置。

  application-test.properties 為測試環境配置文件。

  application-production.properties 為生產環境配置文件。

 

二、各環境相關配置

1、修改各個環境的配置文件

這里以不同環境的數據庫配置不同為例,配置數據庫的不同連接,配置信息如下:

# 數據庫連接
spring.datasource.url=jdbc:mysql://localhost:3306/zwz_test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

上面這個配置是開發環境 application-dev.properties 配置文件。其他的配置文件修改對應的配置連接即可,這里這里不重復了。

 

2、修改 application.properties 主配置文件

application.properties 為項目主配置文件,包含項目所需的所有公共配置,其他配置存放在application-dev.properties 等配置文件中。

# 服務器端口配置
server.port=8088

# 數據源相關配置,這里用的是阿里的druid 數據源
spring.datasource.druid.initial-size=1
spring.datasource.druid.min-idle=1
spring.datasource.druid.max-active=20
spring.datasource.druid.test-on-borrow=true
spring.datasource.druid.stat-view-servlet.allow=true

# mybatis 相關配置
mybatis.type-aliases-package=com.weiz.pojo
mybatis.mapper-locations=classpath:mapper/*.xml
mapper.mappers=com.weiz.utils.MyMapper
mapper.not-empty=false
mapper.identity=MYSQL
# 分頁框架
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
# 開發環境
spring.profiles.active=dev
# 測試環境
# spring.profiles.active=test
# 生產環境
# spring.profiles.active=production

 

3、在 application.properties 激活不同環境的配置文件

在application.properties 配置文件中,增加如下配置,指定對應的環境目錄。

# 開發環境
spring.profiles.active=dev
# 測試環境
# spring.profiles.active=test
# 生產環境
# spring.profiles.active=production

文件中的 spring.profiles.active 即為 指定當前的項目的環境。
選擇使用對應的環境配置,只需要在application.properties 中加上 spring.profiles.active=test ,指定配置文件的后綴,就可以使用對應環境的配置。

 

三、啟動測試

啟動項目,在啟動的時候,在系統啟動日志中,可以看到加載的是哪個環境的配置文件。

從上面的啟動日志,可以看到系統目前啟動的是dev 開發環境。調用相關的接口,也可以查到系統最終連接的是哪個數據庫。

 

四、啟動項目指定環境

1、運行啟動項目指定環境

 在項目開發過程中,通過修改配置文件就能非常輕松的切換項目環境,但是打包部署時,能否指定對應的環境呢?答案是肯定的,下面我們來看看怎么快捷打包部署不同的環境:

java -jar myapp.jar --spring.profiles.active=dev

 我們平時啟動打包的jar包時,可能使用的是 java -jar myjavaapp.jar來啟動項目,如果我們需要制定特定的環境啟動只需要加上一個啟動屬性即可輕松完成一個jar在不同環境通用的效果。

 

2、idea 運行項目指定環境

idea運行項目是,指定項目環境也特別簡單,idea配置VM參數即可。在VM選項中輸入-Dspring.profiles.active=dev,表示激活dev環境;然后重啟工程訪問即可。

 

 

最后

以上,就把Spring Boot 項目配置多環境介紹完了,實現起來比較簡單。。

這個系列課程的完整源碼,也會提供給大家。大家關注我的微信公眾號(架構師精進),回復:springboot源碼。獲取這個系列課程的完整源碼。

 


免責聲明!

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



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