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

相关推荐
Warson_L23 分钟前
Python 流程控制与逻辑
后端·python
糖炒栗子032625 分钟前
架构笔记:应用配置无状态化 (Statelessness)
后端
Warson_L32 分钟前
Python 四大组合数据类型 (Collection Types)
后端·python
查古穆1 小时前
大白话讲ReAct:大模型的“边想边干”
后端
于先生吖1 小时前
SpringBoot+MQTT 无人健身房智能管控系统源码实战
java·spring boot·后端
毕设源码-小云学姐1 小时前
计算机毕业设计springboot网上招聘系统 基于SpringBoot的在线人才对接平台设计与实现 SpringBoot框架下的数字化求职招聘服务系统开发
spring boot·后端·课程设计
weyyhdke3 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
ywf12153 小时前
Go基础之环境搭建
开发语言·后端·golang
Victor3563 小时前
MongoDB(76)如何配置防火墙规则?
后端
Victor3564 小时前
MongoDB(75)如何配置TLS/SSL加密?
后端