0

0

SpringBoot怎么加载多个配置文件实现dev、product多环境切换

王林

王林

发布时间:2023-05-12 23:58:16

|

2300人浏览过

|

来源于亿速云

转载

1.SpringBoot中实现多环境切换

springboot中,除了application.properties,我们新建的其他配置文件的文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识(不一定是.properties文件,也可以是.yml)其对应的{profile}值是开发者自定义的(如dev,product),在项目启动的时候,只需要添加对应的参数,springboot就会去读取该配置文件了。具体profile的配置在application.properties文件中通过spring.profiles.active属性来设置。接下来我们以一个例子来说明

(1)首先这里创建了dev、product、qa、stage和默认的application五个配置文件

SpringBoot怎么加载多个配置文件实现dev、product多环境切换

(2)加载配置文件时会先加载application.properties配置文件(这里一般存放一些公共配置),在该文件中配置要加载的环境的配置文件,这里有两种配置方法。

例如要加载dev环境,可以在application.properties中这样配置

spring.profiles.active=dev

或者使用@spring.profiles.active@,如下所示

spring.profiles.active=@spring.profiles.active@

如果使用这种方式则需要在pom.xml中添加以下内容,其中activeByDefault标签来指定项目启动时默认加载的配置文件。


  
    dev
    
      true
    
    
      dev
    
  
  
    qa
    
      qa
    
  
  
    stage
    
      stage
    
  
  
    product
    
      product
    
  

当执行mvn clean package -P dev 命令对项目进行打包发布时,打出来的jar/war包中的配置文件中@spring.profiles.active@ 会被替换成 dev。

注意@spring.profiles.active@ 要与pom中的标签 > 保持一致,否则会报错。

SpringBoot怎么加载多个配置文件实现dev、product多环境切换

析稿Ai写作
析稿Ai写作

科研人的高效工具:AI论文自动生成,十分钟万字,无限大纲规划写作思路。

下载

2.SpringBoot中配置文件加载顺序

配置文件的优先级排序(以哪个配置文件为准):

1、项目根目录下的config目录。【优先级最高】
2、项目根目录。
3、classpath下的config目录。
4、classpath目录(新建项目时application.properties默认所在位置)。【优先级最低】

配置文件加载顺序和优先级顺序相反,优先级低的先加载,因为如果有重复的配置,先加载的配置文件会被覆盖。

同一级目录下,如果是application.yml,application.properties配置文件同时存在,会以application.properties配置文件为准,也就是说先加载.yml文件后加载.properties文件。

SpringBoot怎么加载多个配置文件实现dev、product多环境切换

优先级顺序:1->2->3->4->5。

文件加载顺序:5->4->3->2->1。

相关专题

更多
PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

23

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

11

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

4

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

13

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

93

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

112

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

155

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Redis6入门到精通超详细教程
Redis6入门到精通超详细教程

共47课时 | 5.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号