最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot?多環(huán)境打包最佳實(shí)踐記錄

 更新時間:2024年11月27日 11:42:47   作者:小小工匠  
SpringBoot通過配置多環(huán)境文件和在打包時指定激活的環(huán)境,實(shí)現(xiàn)多環(huán)境打包與部署,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

Pre

SpringBoot - Spring Boot 中的配置體系Profile全面解讀

概述

實(shí)際開發(fā)中,應(yīng)用程序通常需要部署到不同的運(yùn)行環(huán)境中,例如 開發(fā)環(huán)境、測試環(huán)境、生產(chǎn)環(huán)境等。不同的環(huán)境可能需要不同的環(huán)境配置,針對這種情況,通常需要對項(xiàng)目進(jìn)行多環(huán)境配置。

在Spring Boot項(xiàng)目中,實(shí)現(xiàn)多環(huán)境打包主要通過配置不同的環(huán)境文件,并在打包或啟動時指定需要的環(huán)境參數(shù)。

Spring Boot 中實(shí)現(xiàn)多環(huán)境打包

1. 配置多環(huán)境文件

Spring Boot默認(rèn)加載的配置文件是 application.propertiesapplication.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 中設(shè)置默認(rèn)激活的環(huán)境:

spring:
  profiles:
    active: dev

這樣在開發(fā)環(huán)境下運(yùn)行時,Spring Boot會默認(rèn)加載 application-dev.yml 的配置。

3. 通過命令行參數(shù)指定環(huán)境

在項(xiàng)目打包成 JAR 文件后,可以通過命令行參數(shù) --spring.profiles.active 指定環(huán)境。例如:

java -jar your-application.jar --spring.profiles.active=prod

將會加載 application-prod.yml 中的配置。

4. 在 Maven 中配置多環(huán)境打包

當(dāng)然了,我們也可以在構(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>
                <!-- 默認(rèn)激活這個配置 -->
                <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>標(biāo)簽下為每個環(huán)境定義一個,并設(shè)置<id><properties>來指定環(huán)境標(biāo)識和激活條件

添加 resource

添加<resource>標(biāo)簽,并設(shè)置<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)境標(biāo)識(如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)來包含相應(yīng)的配置文件

6. 檢查多環(huán)境打包的效果

假設(shè)我們打一個

# 生產(chǎn)環(huán)境
mvn clean package -P prod

使用以下方式檢查是否成功加載了指定的環(huán)境配置:

  • 檢查啟動日志中的 Active profiles。
  • 訪問應(yīng)用程序中不同的環(huán)境變量接口(如數(shù)據(jù)庫連接)并驗(yàn)證返回的結(jié)果。

小結(jié)

通過多環(huán)境配置文件與打包時指定的 spring.profiles.active,可以實(shí)現(xiàn)Spring Boot項(xiàng)目的多環(huán)境打包與部署,確保在開發(fā)、測試和生產(chǎn)環(huán)境中使用合適的配置。

到此這篇關(guān)于SpringBoot 多環(huán)境打包最佳實(shí)踐的文章就介紹到這了,更多相關(guān)SpringBoot 多環(huán)境打包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Maven使用pom.xml引入自定義jar包方式

    Maven使用pom.xml引入自定義jar包方式

    這篇文章主要介紹了Maven使用pom.xml引入自定義jar包方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java Swing實(shí)現(xiàn)讓窗體居中顯示的方法示例

    Java Swing實(shí)現(xiàn)讓窗體居中顯示的方法示例

    這篇文章主要介紹了Java Swing實(shí)現(xiàn)讓窗體居中顯示的方法,結(jié)合實(shí)例形式分析了swing使用setBounds方法控制窗口布局的相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • Java NIO實(shí)例UDP發(fā)送接收數(shù)據(jù)代碼分享

    Java NIO實(shí)例UDP發(fā)送接收數(shù)據(jù)代碼分享

    這篇文章主要介紹了Java NIO實(shí)例UDP發(fā)送接收數(shù)據(jù)代碼分享,分享了客戶端和服務(wù)端完整代碼,小編覺得還是挺不錯的,共需要的朋友參考。
    2017-11-11
  • Spring Cloud微服務(wù)之間調(diào)用Dubbo的詳細(xì)過程

    Spring Cloud微服務(wù)之間調(diào)用Dubbo的詳細(xì)過程

    SpringCloudAlibabaDubbo是阿里巴巴開源的Dubbo與SpringCloud的深度集成方案,本文介紹Spring Cloud微服務(wù)之間調(diào)用Dubbo的詳細(xì)過程,感興趣的朋友跟隨小編一起看看吧
    2026-02-02
  • 在IDEA中使用Git的實(shí)現(xiàn)示例

    在IDEA中使用Git的實(shí)現(xiàn)示例

    本文主要介紹了在IDEA中使用Git的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-08-08
  • Spring Boot集成Resilience4J實(shí)現(xiàn)限流/重試/隔離

    Spring Boot集成Resilience4J實(shí)現(xiàn)限流/重試/隔離

    在Java的微服務(wù)生態(tài)中,對于服務(wù)保護(hù)組件,像springcloud的Hystrix,springcloud?alibaba的Sentinel,以及當(dāng)Hystrix停更之后官方推薦使用的Resilience4j,所以本文給大家介紹了Spring Boot集成Resilience4J實(shí)現(xiàn)限流/重試/隔離,需要的朋友可以參考下
    2024-03-03
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(56)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(56)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-08-08
  • 一文搞懂Java中的反射機(jī)制

    一文搞懂Java中的反射機(jī)制

    Java的反射機(jī)制是在運(yùn)行狀態(tài)中,對于任何一個類,都可以知道這個類的所有屬性和方法,對于任何一個對象,都可以調(diào)用它所有的方法和屬性,修改部分類型信息。本文就來詳細(xì)講講Java反射機(jī)制的使用
    2022-07-07
  • Java獲取文件ContentType案例

    Java獲取文件ContentType案例

    這篇文章主要介紹了Java獲取文件ContentType案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Springboot+Jackson自定義注解數(shù)據(jù)脫敏的項(xiàng)目實(shí)踐

    Springboot+Jackson自定義注解數(shù)據(jù)脫敏的項(xiàng)目實(shí)踐

    數(shù)據(jù)脫敏可以對敏感數(shù)據(jù)比如 手機(jī)號、銀行卡號等信息進(jìn)行轉(zhuǎn)換或者修改,本文主要介紹了Springboot+Jackson?自定義注解數(shù)據(jù)脫敏,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08

最新評論

长岭县| 沙湾县| 个旧市| 民乐县| 丰原市| 育儿| 安国市| 江山市| 漳州市| 宜兴市| 永吉县| 通河县| 循化| 水富县| 绿春县| 赣榆县| 正定县| 麟游县| 定安县| 临泉县| 新宾| 大竹县| 偃师市| 冀州市| 玉门市| 黎川县| 新竹市| 慈利县| 原平市| 永登县| 砀山县| 上蔡县| 久治县| 芜湖县| 拉萨市| 阿拉善右旗| 黄平县| 平泉县| 平原县| 江孜县| 定西市|