SpringBoot配置文件拆分 - 第466篇

历史文章(文章累计460+)

《国内最全的Spring Boot系列之一》

《国内最全的Spring Boot系列之二》

《国内最全的Spring Boot系列之三》

《国内最全的Spring Boot系列之四》

《国内最全的Spring Boot系列之五》

《国内最全的Spring Boot系列之六》

​修炼技术的九阳神功,让你从模式小白轻松进阶为模式大神

66个ChatGPT副业赚钱技巧 - 第3篇

ChatGPT+剪映·副业赚钱技巧实战教程·《制作阿凡达解说视频》- 第4篇

为什么ClassPathResource可以读取到流?- 第465篇

1分钟快速制作思维导图「ChatGPT+XMind」—— 跟上时代的脚步,这辈子就起飞了 - 第5篇

师傅:徒儿,你是不是配置文件还写在一个文件里?

悟纤:难道不都是这样子的吗?

师傅:在同一个配置文件,写写测试代码是没有毛病的,但是如果是线上很多配置的情况下,那么一个配置文件就会显得很拥挤。

悟纤:欧侯,还真是这么一回事呢。何解呢?

师傅:这个还是很简单的,Spring Boot已经提供了解决方案了。难者不会,会者不难。

悟纤:那师傅赶紧分享一下吧,我要项目中臃肿的配置给分一下。

导读

Spring Boot可以外部化程序配置,以便可以在不同环境中使用相同的应用程序代码;当然Spring Boot可以将配置文件进行拆分,以便于激活不同的运行环境。可以在单个文件中区分多环境,也可以将单个文件拆分成多配置文件

一、SpringBoot默认加载的配置文件,激活的配置项

SpringBoot默认从如下4个位置加载配置文件:

classpath:/ 、classpath:/config/、file:./ 、file:./config/

SpringBoot默认加载application.yml、application.properties、application-default.yml、application-default.properties,这4种命名方式的配置文件。

可以使用spring.profiles.active配置激活指定自定义配置,若没有,就使用系统默认配置,可从console控制台查看,如下:

二、SpringBoot单文件配置

application-{default}的配置文件中,我们可以拆分成不同环境,操作如下:

(1)使用spring.profiles.active标识需要激活的配置环境。

(2)使用---分割不同的配置环境。

(3)spring.config.activate.on-profile指定配置环境名称,旧版本是使用spring.profiles。

举例说明(application.yml):

spring:  profiles:    active: devmy:  name: 悟纤.default---my:  name: 悟纤.devspring:  config:    activate:      on-profile: dev---my:  name: 悟纤.testspring:  config:    activate:      on-profile: test

说明:

(1)公有配置与spring.profiles.active同级。

(2)spring.profiles.active用来激活,不同环境中配置的spring.config.activate.on-profile。

(3)所有的配置(不同环境)的都会在一个文件中。

三、SpringBoot多文件配置

在实际中我们总是希望将配置分散在不同的配置文件中,将通用的配置放置在单独的文件中,将测试和开发环境放置在别的文件中。

(1)使用application-{profile}.properties的形式定义特殊的配置文件。

(2)使用spring.profiles.include,或spring.profiles.active将多个配置文件在主配置文件中激活。

在application.yml中引入,激活配置文件:

spring:  profiles:    active: testmy:  name: 悟纤.default

在application-dev.yml开发环境定义:

my:  name: 悟纤.dev

在application-test.yml测试环境定义:

my:  name: 悟纤.test

四、SpringBoot多文件配置之通用配置

在多环境下,有些配置信息是通用的配置的,可以怎么做呢?

第一种方式:把通用配置信息写在application.yml文件:

spring:  profiles:    active: testmy:  name: 悟纤.defaultmyCommon:  name: springboot

第二种方式:定义一个通用配置文件application-comm.yml文件:

myCommon:  name: springboot

然后在application.yml引入通用配置文件:

spring:  profiles:    active:      - comm      - testmy:  name: 悟纤.default

说明:关键配置 -comm。

通用配置是否可以放在其它路径呢?如果是放在resources/config的,直接将文件application-comm.yml放到config下即可:

如果是其它的指定以的目录的话,那么就需要使用配置文件:

--spring.config.location

进行指定路径。

总结

在SpringBoot中拆分外部配置十分简便,

① 在单文件中使用---隔离;

② 使用application-{profile}.properties方式来组织多文件;

③ 通用配置文件,可以使用spring.profiles.active激活多个配置文件来实现。

我就是我,是颜色不一样的烟火。
我就是我,是与众不同的小苹果。

à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!

SpringBoot视频:http://t.cn/A6ZagYTi

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

ShardingJDBC分库分表:http://t.cn/A6ZarrqS

分布式事务解决方案:http://t.cn/A6ZaBnIr

JVM内存模型调优实战:http://t.cn/A6wWMVqG

Spring入门到精通:https://t.cn/A6bFcDh4

大话设计模式之爱你:https://dwz.cn/wqO0MAy7

本文链接:https://my.lmcjl.com/post/10865.html

展开阅读全文

4 评论

留下您的评论.