历史文章(文章累计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: dev
my:
name: 悟纤.default
---
my:
name: 悟纤.dev
spring:
config:
activate:
on-profile: dev
---
my:
name: 悟纤.test
spring:
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: test
my:
name: 悟纤.default
在application-dev.yml开发环境定义:
my:
name: 悟纤.dev
在application-test.yml测试环境定义:
my:
name: 悟纤.test
四、SpringBoot多文件配置之通用配置
在多环境下,有些配置信息是通用的配置的,可以怎么做呢?
第一种方式:把通用配置信息写在application.yml文件:
spring:
profiles:
active: test
my:
name: 悟纤.default
myCommon:
name: springboot
第二种方式:定义一个通用配置文件application-comm.yml文件:
myCommon:
name: springboot
然后在application.yml引入通用配置文件:
spring:
profiles:
active:
- comm
- test
my:
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