SpringBoot 多环境启动配置

多环境配置

在SpringBoot项目的生命周期中,存在不同的环境,例如开发时的环境,测试时的环境,交付使用后的生产环境,每种环境的配置可能不一样,这种情况下可以通过多环境配置实现不同环境的快速切换。

针对不同环境制定不同名称的配置文件,里面放置不同环境下所需的配置项,然后在主配置文件中选择其中一个配置文件作为当前使用的配置。

创建多个配置文件,每个配置文件的格式:application-{profile}.yml,其中{profile}是对应环境的标识

补充:常用的配置文件:

开发环境:application-dev.yml

测试环境:application-test.yml

生产环境:application-prod.yml

默认启动指定默认配置文件application.yml 。

修改application.yml文件,使用以下代码选择上述的一个环境(active为profile所进行的命名),来进行环境的切换。

yaml 复制代码
spring:
    profiles:
        #active中的值为对应环境的标识
        active:dev

IDEA 中 启动配置修改

第一种方式

随后用 debug 方式启动项目

第二种方式

随后用 debug 方式启动项目


命令行启动

jar 包

指定环境,指定端口

css 复制代码
java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev --server.port=8888

war 包

修改 startup.bat 文件

vbnet 复制代码
@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 设置JDK目录
rem set "JAVA_HOME=%cd%\jdk1.8.0_x64"

rem 设置类加载路径
set "CLASS_PATH=%cd%/../"

rem 优化JVM参数
set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx4g"

rem 方式一、配置外部自定义的属性文件(建议)
rem set "JAVA_OPTS=%JAVA_OPTS% -Dspring.config.location=%cd%\app.yml"

rem 方式二、配置环境名称,加载不同的属性文件
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

热部署

在项目开发过程中,如果代码修改了,需要进行重新启动项目后修改才可以生效,但使用热部署则无须重新去手动启动应用程序。

在 pom.xml 文件中添加 devtools依赖

xml 复制代码
  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

在application.yml文件中添加配置

yaml 复制代码
spring:
    devtools:
        restarts:
            enabled:true

在IDEA中进行自动构建项目的配置,选择File->Settings->Build,Execution,Deployment->Complier,然后勾选右侧部分的Build project automatically

相关推荐
无风听海4 小时前
深入剖析 YARP 的 Transforms:构建灵活的反向代理转换管道
后端·中间件·asp.net
Gopher_HBo4 小时前
负载均衡
后端
自由生长20244 小时前
RAG已死?什么标题党啊!
后端
东方小月5 小时前
5分钟搞懂Harness Engineering(驾驭工程):从提示词到AI Agent的进化之路
前端·后端·架构
折哥的程序人生 · 物流技术专研8 小时前
Java面试85题图解版(一):基础核心篇
java·开发语言·后端·面试
Moment8 小时前
面试官:如果产品经理给你多个需求,怎么让AI去完成❓❓❓
前端·后端·面试
每天进步一点_JL9 小时前
JVM 内存模型与 OOM 排查:从入门到实战
后端
REDcker9 小时前
个人博客网站建设指南 Markdown资产化与静态站选型部署
前端·后端·博客·markdown·网站·资产·建站
Supersist10 小时前
【设计模式03】使用模版模式+责任链模式优化实战
后端·设计模式·代码规范
Fox爱分享10 小时前
字节二面:10亿数据毫秒级查手机尾号后4位,答不出“异构索引”直接挂?
java·后端·面试