当前位置: 代码迷 >> 综合 >> Springboot——spring.profiles.active区分测试和上线不同配置的切换
  详细解决方案

Springboot——spring.profiles.active区分测试和上线不同配置的切换

热度:61   发布时间:2023-12-15 19:57:04.0

文章目录

  • 前言
  • 测试
  • 扩展

前言

如标题所示,这篇文章只说spring.profiles.active配置的作用。

在正常的开发流程中,项目通常会有开发测试上线这几个阶段,可能在项目的各个流程中,不同的环境下连接数据库的配置、端口信息等不同。

如果需要做需求的更改测试,以及项目的上线,需要频繁的去变更application.yml中的配置信息,导致开发的极度不便。

为了解决这个问题,Springboot中推出了spring.profiles.active这项配置。

测试

假定服务的开发和上线的端口信息可能是:88889999

在开发环境下,使用8888端口,则需要配置:

  • 1、创建对应的文件application-test.yml
  • 2、设置端口号信息:
server:port: 8888
  • 3、在application.yml中开放使用的类别:
spring:profiles:active: test

项目运行测试:
在这里插入图片描述
如果上线后,需要变更很多配置,则可以再创建一个新的文件,如:application-dev.yml

server:port: 9999

然后变更application.yml中的配置:

spring:profiles:active: dev

在这里插入图片描述

扩展

除了改动代码配置文件的情况下,实现不同配置的切换外,还能在jar文件运行时,进行变更,如下所示:

java -jar xxx.jar --spring.profiles.active=testjava -jar xxx.jar --spring.profiles.active=dev
  相关解决方案