SpringBoot中多环境启动配置的教程详解
作者:涛涛之海
多环境配置
在SpringBoot项目的生命周期中,存在不同的环境,例如开发时的环境,测试时的环境,交付使用后的生产环境,每种环境的配置可能不一样,这种情况下可以通过多环境配置实现不同环境的快速切换。
针对不同环境制定不同名称的配置文件,里面放置不同环境下所需的配置项,然后在主配置文件中选择其中一个配置文件作为当前使用的配置。
创建多个配置文件,每个配置文件的格式:application-{profile}.yml,其中{profile}是对应环境的标识
补充:常用的配置文件:
开发环境:application-dev.yml
测试环境:application-test.yml
生产环境:application-prod.yml
默认启动指定默认配置文件application.yml 。
修改application.yml文件,使用以下代码选择上述的一个环境(active为profile所进行的命名),来进行环境的切换。
spring: profiles: #active中的值为对应环境的标识 active:dev
IDEA 中 启动配置修改
第一种方式
随后用 debug 方式启动项目
第二种方式
随后用 debug 方式启动项目
命令行启动
jar 包
指定环境,指定端口
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 设置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依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
在application.yml文件中添加配置
spring: devtools: restarts: enabled:true
在IDEA中进行自动构建项目的配置,选择File->Settings->Build,Execution,Deployment->Complier,然后勾选右侧部分的Build project automatically
以上就是SpringBoot中多环境启动配置的教程详解的详细内容,更多关于SpringBoot多环境启动配置的资料请关注脚本之家其它相关文章!