SpringBoot中多環(huán)境啟動配置的教程詳解
多環(huán)境配置
在SpringBoot項目的生命周期中,存在不同的環(huán)境,例如開發(fā)時的環(huán)境,測試時的環(huán)境,交付使用后的生產(chǎn)環(huán)境,每種環(huán)境的配置可能不一樣,這種情況下可以通過多環(huán)境配置實現(xiàn)不同環(huán)境的快速切換。
針對不同環(huán)境制定不同名稱的配置文件,里面放置不同環(huán)境下所需的配置項,然后在主配置文件中選擇其中一個配置文件作為當(dāng)前使用的配置。
創(chuàng)建多個配置文件,每個配置文件的格式:application-{profile}.yml,其中{profile}是對應(yīng)環(huán)境的標(biāo)識
補充:常用的配置文件:
開發(fā)環(huán)境:application-dev.yml
測試環(huán)境:application-test.yml
生產(chǎn)環(huán)境:application-prod.yml
默認(rèn)啟動指定默認(rèn)配置文件application.yml 。
修改application.yml文件,使用以下代碼選擇上述的一個環(huán)境(active為profile所進(jìn)行的命名),來進(jìn)行環(huán)境的切換。
spring: profiles: #active中的值為對應(yīng)環(huán)境的標(biāo)識 active:dev
IDEA 中 啟動配置修改
第一種方式
隨后用 debug 方式啟動項目
第二種方式
隨后用 debug 方式啟動項目
命令行啟動
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 [信息] 運行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
熱部署
在項目開發(fā)過程中,如果代碼修改了,需要進(jìn)行重新啟動項目后修改才可以生效,但使用熱部署則無須重新去手動啟動應(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)行自動構(gòu)建項目的配置,選擇File->Settings->Build,Execution,Deployment->Complier,然后勾選右側(cè)部分的Build project automatically
以上就是SpringBoot中多環(huán)境啟動配置的教程詳解的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot多環(huán)境啟動配置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
java集合框架 arrayblockingqueue應(yīng)用分析
ArrayBlockingQueue是一個由數(shù)組支持的有界阻塞隊列。此隊列按 FIFO(先進(jìn)先出)原則對元素進(jìn)行排序。隊列的頭部 是在隊列中存在時間最長的元素2012-11-11springBoot 整合ModBus TCP的詳細(xì)過程
ModBus是一種串行通信協(xié)議,用于從儀器和控制設(shè)備傳輸信號到主控制器或數(shù)據(jù)采集系統(tǒng),它分為主站和從站,主站獲取和編寫數(shù)據(jù),從站則是設(shè)備,本文給大家介紹springBoot 整合ModBus TCP的詳細(xì)過程,感興趣的朋友一起看看吧2025-01-01springboot 2.0 mybatis mapper-locations掃描多個路徑的實現(xiàn)
這篇文章主要介紹了springboot 2.0 mybatis mapper-locations掃描多個路徑的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07java中String與StringBuilder的區(qū)別
本篇文章介紹了,java中String與StringBuilder的區(qū)別。需要的朋友參考下2013-04-04java如何將實體類轉(zhuǎn)換成json并在控制臺輸出
這篇文章主要介紹了java如何將實體類轉(zhuǎn)換成json并在控制臺輸出問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11