广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot怎么加载多个配置文件实现dev、product多环境切换
  • 884
分享到

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

2023-07-05 16:07:43 884人浏览 独家记忆
摘要

这篇文章主要介绍“SpringBoot怎么加载多个配置文件实现dev、product多环境切换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springBoot怎么加载多个配置文件实现dev、pro

这篇文章主要介绍“SpringBoot怎么加载多个配置文件实现dev、product多环境切换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springBoot怎么加载多个配置文件实现dev、product多环境切换”文章能帮助大家解决问题。

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标签来指定项目启动时默认加载的配置文件。

<profiles>  <profile>    <id>dev</id>    <activation>      <activeByDefault>true</activeByDefault>    </activation>    <properties>      <spring.profiles.active>dev</spring.profiles.active>    </properties>  </profile>  <profile>    <id>qa</id>    <properties>      <spring.profiles.active>qa</spring.profiles.active>    </properties>  </profile>  <profile>    <id>stage</id>    <properties>      <spring.profiles.active>stage</spring.profiles.active>    </properties>  </profile>  <profile>    <id>product</id>    <properties>      <spring.profiles.active>product</spring.profiles.active>    </properties>  </profile></profiles>

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

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

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

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

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

项目根目录下的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。

关于“SpringBoot怎么加载多个配置文件实现dev、product多环境切换”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

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

本文链接: https://www.lsjlt.com/news/353758.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot怎么加载多个配置文件实现dev、product多环境切换
    这篇文章主要介绍“SpringBoot怎么加载多个配置文件实现dev、product多环境切换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot怎么加载多个配置文件实现dev、pro...
    99+
    2023-07-05
  • SpringBoot实现多环境配置文件切换教程详解
    目录背景解决方案一、新建配置文件二、 服务调用测试 2.1 新建调用类2.2 使用样例项目三、扩展练习3.1 使用注解标记配置,首先定义一个接口3.2 ...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作