SpringBoot?多環(huán)境打包最佳實踐記錄
Pre
SpringBoot - Spring Boot 中的配置體系Profile全面解讀
概述
實際開發(fā)中,應用程序通常需要部署到不同的運行環(huán)境中,例如 開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境等。不同的環(huán)境可能需要不同的環(huán)境配置,針對這種情況,通常需要對項目進行多環(huán)境配置。
在Spring Boot項目中,實現(xiàn)多環(huán)境打包主要通過配置不同的環(huán)境文件,并在打包或啟動時指定需要的環(huán)境參數(shù)。
Spring Boot 中實現(xiàn)多環(huán)境打包
1. 配置多環(huán)境文件
Spring Boot默認加載的配置文件是 application.properties
或 application.yml
。為了支持不同環(huán)境的配置,我們可以創(chuàng)建多個配置文件,如:
application-dev.yml
(開發(fā)環(huán)境)application-test.yml
(測試環(huán)境)application-prod.yml
(生產(chǎn)環(huán)境)
在這些配置文件中,可以分別定義適用于每個環(huán)境的數(shù)據(jù)庫、緩存等參數(shù)。
(
application-dev.yml
):
server: port: 8081 spring: datasource: url: jdbc:mysql://localhost:3306/dev_db username: dev_user password: dev_password
(
application-prod.yml
):
server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/prod_db username: prod_user password: prod_password
2. 配置激活的環(huán)境
在 application.yml
中設置默認激活的環(huán)境:
spring: profiles: active: dev
這樣在開發(fā)環(huán)境下運行時,Spring Boot會默認加載 application-dev.yml
的配置。
3. 通過命令行參數(shù)指定環(huán)境
在項目打包成 JAR 文件后,可以通過命令行參數(shù) --spring.profiles.active
指定環(huán)境。例如:
java -jar your-application.jar --spring.profiles.active=prod
將會加載 application-prod.yml
中的配置。
4. 在 Maven 中配置多環(huán)境打包
當然了,我們也可以在構(gòu)建工具中配置多環(huán)境打包,方便在不同環(huán)境中自動指定激活的配置文件。
在 pom.xml
中配置多環(huán)境 profile
<profiles> <!-- 開發(fā)環(huán)境 --> <profile> <id>dev</id> <properties> <package.environment>dev</package.environment> </properties> <activation> <!-- 默認激活這個配置 --> <activeByDefault>true</activeByDefault> </activation> </profile> <!--測試環(huán)境--> <profile> <id>test</id> <properties> <package.environment>test</package.environment> </properties> </profile> <!--生產(chǎn)環(huán)境--> <profile> <id>prod</id> <properties> <package.environment>prod</package.environment> </properties> </profile> </profiles>
在<profiles>
標簽下為每個環(huán)境定義一個,并設置<id>
和<properties>
來指定環(huán)境標識和激活條件
添加 resource
添加<resource>
標簽,并設置<filtering>
為true,以便Maven可以替換其中的變量。在<includes>
中指定要包含的公共配置文件和特定環(huán)境的配置文件。
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>application.yml</include> <!--suppress UnresolvedMavenProperty --> <include>application-${package.environment}.yml</include> <!-- <include>**/*.xml</include>--> </includes> </resource> </resources> </build>
這里的${package.environment}是一個變量,它將在打包時被替換為具體的環(huán)境標識(如dev、test、pre,prod等)
5. 命令打包
# 開發(fā)環(huán)境 mvn clean package -P dev # 測試環(huán)境 mvn clean package -P test # 生產(chǎn)環(huán)境 mvn clean package -P prod
觸發(fā)Maven的打包流程,并根據(jù)指定的profile(如dev、test、prod)來包含相應的配置文件
6. 檢查多環(huán)境打包的效果
假設我們打一個
# 生產(chǎn)環(huán)境 mvn clean package -P prod
使用以下方式檢查是否成功加載了指定的環(huán)境配置:
- 檢查啟動日志中的
Active profiles
。 - 訪問應用程序中不同的環(huán)境變量接口(如數(shù)據(jù)庫連接)并驗證返回的結(jié)果。
小結(jié)
通過多環(huán)境配置文件與打包時指定的 spring.profiles.active
,可以實現(xiàn)Spring Boot項目的多環(huán)境打包與部署,確保在開發(fā)、測試和生產(chǎn)環(huán)境中使用合適的配置。
到此這篇關于SpringBoot 多環(huán)境打包最佳實踐的文章就介紹到這了,更多相關SpringBoot 多環(huán)境打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Java thrift服務器和客戶端創(chuàng)建實例代碼
Thrift是一個軟件框架,用來進行可擴展且跨語言的服務的開發(fā)。接下來通過本文給大家介紹Java thrift服務器和客戶端創(chuàng)建實例代碼,需要的朋友參考下吧2017-04-04springMVC中@RequestParam和@RequestPart的區(qū)別
本文主要介紹了springMVC中@RequestParam和@RequestPart的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-06-06