欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2024年11月27日 11:42:47   作者:小小工匠  
SpringBoot通過配置多環(huán)境文件和在打包時指定激活的環(huán)境,實現(xiàn)多環(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.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 中設置默認激活的環(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)建實例代碼

    Java thrift服務器和客戶端創(chuàng)建實例代碼

    Thrift是一個軟件框架,用來進行可擴展且跨語言的服務的開發(fā)。接下來通過本文給大家介紹Java thrift服務器和客戶端創(chuàng)建實例代碼,需要的朋友參考下吧
    2017-04-04
  • Java多線程中Callable和Future的解讀

    Java多線程中Callable和Future的解讀

    這篇文章主要介紹了Java多線程中Callable和Future的解讀,Callable接口類似于Runnable,從名字就可以看出來了,但是Runnable不會返回結(jié)果,并且無法拋出返回結(jié)果的異常,而Callable功能更強大一些,被線程執(zhí)行后,可以返回值,這個返回值可以被Future拿到,需要的朋友可以參考下
    2023-09-09
  • SpringBoot參數(shù)校驗與國際化使用教程

    SpringBoot參數(shù)校驗與國際化使用教程

    這篇文章主要給大家介紹了關于SpringBoot參數(shù)校驗與國際化使用教程的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • java pdf加水印的方法

    java pdf加水印的方法

    這篇文章主要為大家詳細介紹了java pdf加水印的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java 基礎之事務詳細介紹

    Java 基礎之事務詳細介紹

    這篇文章主要介紹了Java 基礎之事務詳細介紹的相關資料,需要的朋友可以參考下
    2017-03-03
  • Spring中@Autowired自動注入map詳解

    Spring中@Autowired自動注入map詳解

    這篇文章主要介紹了Spring中@Autowired自動注入map詳解,  spring是支持基于接口實現(xiàn)類的直接注入的,支持注入map,list等集合中,不用做其他的配置,直接注入,需要的朋友可以參考下
    2023-10-10
  • SpringBoot熱部署設置方法詳解

    SpringBoot熱部署設置方法詳解

    在實際開發(fā)中,每次修改代碼就需要重啟項目,重新部署,對于一個后端開發(fā)者來說,重啟確實很難受。在java開發(fā)領域,熱部署一直是一個難以解決的問題,目前java虛擬機只能實現(xiàn)方法體的熱部署,對于整個類的結(jié)構(gòu)修改,仍然需要重啟項目
    2022-10-10
  • 詳解Java Spring AOP

    詳解Java Spring AOP

    這篇文章主要為大家介紹了Java Spring AOP,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Mybatis結(jié)果集映射與生命周期詳細介紹

    Mybatis結(jié)果集映射與生命周期詳細介紹

    結(jié)果集映射指的是將數(shù)據(jù)表中的字段與實體類中的屬性關聯(lián)起來,這樣 MyBatis 就可以根據(jù)查詢到的數(shù)據(jù)來填充實體對象的屬性,幫助我們完成賦值操作
    2022-10-10
  • springMVC中@RequestParam和@RequestPart的區(qū)別

    springMVC中@RequestParam和@RequestPart的區(qū)別

    本文主要介紹了springMVC中@RequestParam和@RequestPart的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06

最新評論