SpringBoot中多環(huán)境啟動(dòng)配置的教程詳解
多環(huán)境配置
在SpringBoot項(xiàng)目的生命周期中,存在不同的環(huán)境,例如開發(fā)時(shí)的環(huán)境,測(cè)試時(shí)的環(huán)境,交付使用后的生產(chǎn)環(huán)境,每種環(huán)境的配置可能不一樣,這種情況下可以通過多環(huán)境配置實(shí)現(xiàn)不同環(huán)境的快速切換。
針對(duì)不同環(huán)境制定不同名稱的配置文件,里面放置不同環(huán)境下所需的配置項(xiàng),然后在主配置文件中選擇其中一個(gè)配置文件作為當(dāng)前使用的配置。
創(chuàng)建多個(gè)配置文件,每個(gè)配置文件的格式:application-{profile}.yml,其中{profile}是對(duì)應(yīng)環(huán)境的標(biāo)識(shí)
補(bǔ)充:常用的配置文件:
開發(fā)環(huán)境:application-dev.yml
測(cè)試環(huán)境:application-test.yml
生產(chǎn)環(huán)境:application-prod.yml

默認(rèn)啟動(dòng)指定默認(rèn)配置文件application.yml 。
修改application.yml文件,使用以下代碼選擇上述的一個(gè)環(huán)境(active為profile所進(jìn)行的命名),來進(jìn)行環(huán)境的切換。
spring:
profiles:
#active中的值為對(duì)應(yīng)環(huán)境的標(biāo)識(shí)
active:dev
IDEA 中 啟動(dòng)配置修改
第一種方式


隨后用 debug 方式啟動(dòng)項(xiàng)目
第二種方式

隨后用 debug 方式啟動(dòng)項(xiàng)目
命令行啟動(dòng)
jar 包
指定環(huán)境,指定端口
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev --server.port=8888
war 包
修改 startup.bat 文件
@echo off rem /** rem * Copyright (c) 2013-Now http://jeesite.com All rights reserved. rem * No deletion without permission, or be held responsible to law. rem * rem * Author: ThinkGem@163.com rem */ echo. echo [信息] 運(yùn)行Web工程。 echo. rem pause rem echo. %~d0 cd %~dp0 title %cd% rem 設(shè)置JDK目錄 rem set "JAVA_HOME=%cd%\jdk1.8.0_x64" rem 設(shè)置類加載路徑 set "CLASS_PATH=%cd%/../" rem 優(yōu)化JVM參數(shù) set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx4g" rem 方式一、配置外部自定義的屬性文件(建議) rem set "JAVA_OPTS=%JAVA_OPTS% -Dspring.config.location=%cd%\app.yml" rem 方式二、配置環(huán)境名稱,加載不同的屬性文件 set "JAVA_OPTS=%JAVA_OPTS% -Dspring.profiles.active=prod" if "%JAVA_HOME%" == "" goto noJavaHome if not "%JAVA_HOME%" == "" goto gotJavaHome goto end :noJavaHome set RUN_JAVA=java goto runJava :gotJavaHome set "RUN_JAVA=%JAVA_HOME%\bin\java" goto runJava :runJava call "%RUN_JAVA%" -cp %CLASS_PATH% %JAVA_OPTS% org.springframework.boot.loader.WarLauncher goto end :end pause
熱部署
在項(xiàng)目開發(fā)過程中,如果代碼修改了,需要進(jìn)行重新啟動(dòng)項(xiàng)目后修改才可以生效,但使用熱部署則無須重新去手動(dòng)啟動(dòng)應(yīng)用程序。
在 pom.xml 文件中添加 devtools依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
在application.yml文件中添加配置
spring:
devtools:
restarts:
enabled:true
在IDEA中進(jìn)行自動(dòng)構(gòu)建項(xiàng)目的配置,選擇File->Settings->Build,Execution,Deployment->Complier,然后勾選右側(cè)部分的Build project automatically


以上就是SpringBoot中多環(huán)境啟動(dòng)配置的教程詳解的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot多環(huán)境啟動(dòng)配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mac系統(tǒng)啟動(dòng)spring項(xiàng)目報(bào)錯(cuò)的問題及解決方案
這篇文章主要介紹了mac系統(tǒng)啟動(dòng)spring項(xiàng)目報(bào)錯(cuò)的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2026-03-03
mybatis單元測(cè)試過程(無需啟動(dòng)容器)
在MyBatis中,單元測(cè)試無需啟動(dòng)容器即可進(jìn)行,主要涉及Configuration類、Executor接口及其實(shí)現(xiàn)類,以及XMLMapperBuilder的作用,Configuration類是配置的承載者,負(fù)責(zé)初始化并解析配置文件,Executor接口及其實(shí)現(xiàn)類2024-09-09
Spring Boot 3 整合 RustFS 實(shí)現(xiàn)分布式文件存儲(chǔ)的常
本文詳解SpringBoot3與RustFS分布式存儲(chǔ)系統(tǒng)的整合方法,涵蓋環(huán)境部署、配置、核心代碼實(shí)現(xiàn)及高級(jí)功能擴(kuò)展,最終構(gòu)建高性能、可擴(kuò)展的文件存儲(chǔ)服務(wù),強(qiáng)調(diào)其兼容S3協(xié)議、開源特性及成本優(yōu)勢(shì),感興趣的朋友跟隨小編一起看看吧2025-09-09
java實(shí)現(xiàn)簡(jiǎn)單貪吃蛇小游戲
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡(jiǎn)單貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05

