Spring Boot 2.4 对多环境配置的支持更改
一路向西 · 362浏览 · 发布于2020-12-17
在目前最新的Spring Boot 2.4版本中,对配置的加载机制做了较大的调整。相关的问题最近也被问的比较多,所以今天就花点时间,给大家讲讲Spring Boot 2.4的多环境配置较之前版本有哪些变化。
多环境配置
2.4版本之前
先回顾下,2.4版本之前,我们在yaml配置文件中,使用spring.profiles来定义不同环境的标识,比如下面这样:
spring: profiles: "dev" name: dev.didispace.com --- spring: profiles: "test" name: test.didispace.com --- spring: profiles: "prod" name: prod.didispace.com
2.4版本之后
而在本次2.4版本升级之后,我们需要将spring.profiles配置用spring.config.activate.on-profile替代,比如上面的配置需要修改为如下配置:
spring: config: activate: on-profile: "dev" name: dev.didispace.com --- spring: config: activate: on-profile: "test" name: test.didispace.com --- spring: config: activate: on-profile: "prod" name: prod.didispace.com
指定环境启动
应用启动的时候,我们要加载不同的环境配置的参数不变,依然采用spring.profiles.active参数,对应值采用spring.config.activate.on-profile定义的标识名称。比如下面的命令就能激活dev环境的配置。
java -jar myapp.jar -Dspring.profiles.active=dev
在应用启动的时候,我们也能看到对应的配置激活日志:
2020-12-16 16:34:20.614 INFO 5951 --- [ main] c.d.chapter12.Chapter12Application : The following profiles are active: dev
我们也可以将spring.profiles.active写入yaml配置中,这样的作用就可以指定默认使用某一个环境的配置,通常我们可以设置成开发环境,这样有利于我们平时的开发调试,而真正部署到其他环境的时候则多以命令参数激活为主。
spring: profiles: active: "dev" --- spring: config: activate: on-profile: "dev" name: dev.didispace.com --- spring: config: activate: on-profile: "test" name: test.didispace.com --- spring: config: activate: on-profile: "prod" name: prod.didispace.com
代码示例
本文的相关例子可以查看下面仓库中的chapter1-2目录:
如果您觉得本文不错,欢迎Star支持,您的关注是我坚持的动力!
相关推荐
PHP实现部分字符隐藏
沙雕mars · 1325浏览 · 2019-04-28 09:47:56
Java中ArrayList和LinkedList区别
kenrry1992 · 908浏览 · 2019-05-08 21:14:54
5月语言排行榜:R 跌出前二十,Python 紧咬 C++
manongba · 687浏览 · 2019-05-09 17:27:24
Tomcat 下载及安装配置
manongba · 970浏览 · 2019-05-13 21:03:56
什么是SpringBoot
iamitnan · 1086浏览 · 2019-05-14 22:20:36
分类专栏
最新发布
最热排行
0评论