ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Springboot通过profiles切换不同环境使用的配置

2026/10/4 0:00:48 拓冰建站 浏览量
Springboot通过profiles切换不同环境使用的配置

文章目录

  • 简介
  • 1.通过分隔符隔离
  • 2.通过使用不同的配置文件区分
  • 3.测试

简介

一个项目从开发到上线一般要经过几个环境, dev测试环境-uat预生产环境-prod生产环境,每个环境的使用的数据库或者配置不同,这时候可以通过下面两种方式区分配置,达到快速切换的效果。

1.通过分隔符隔离

  • 1.在application.yml配置文件中可以通过 - - - 分隔不同环境的配置
  • 2.在隔离的配置中通过spring.profiles定义当前这段配置的环境名称,下面定义了dev和prod两个环境
spring:profiles:#选择指定的环境active: dev#-------------  dev配置  ---------------
---
spring:profiles: devversion: 1.0.1#-------------  prod配置  ---------------
---
spring:profiles: prodversion: 1.0.0

2.通过使用不同的配置文件区分

文件名的定义规则是: application-xxx.yml , xxx表示环境名称,为了兼容上面的分割符定义的两个环境,这里也创建了dev和prod两个环境的配置文件,两种方式可以混合使用,建议配置项多的时候还是用配置文件区分开。
在这里插入图片描述
只定义了一个spring.application.name属性,prod环境名称为test-prod,dev环境名称为test-dev
在这里插入图片描述

3.测试

@RestController
public class TestController {@Value("${spring.application.name}")public String appName;@Value("${version}")public String version;@GetMappingpublic String test() {return "appName="+appName+" , version="+version;}}

在这里插入图片描述
修改配置文件spring.profiles.active=prod再进行测试可以看到两种配置都生效了。
在这里插入图片描述

在这里插入图片描述

线上配置
在线上运行jar包的时候可以通过 --spring.profiles.active传入动态参数覆盖配置文件里的选项

java -jar xxx.jar --spring.profiles.active=prod