1.SpringBoot使用(二)配置文件拆分

mac2025-09-11  4

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

1.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控制台查看,如下:

INFO 23520 --- [ main] .SpringBootConfigurationSplitApplication : No active profile set, falling back to default profiles: default

2.SpringBoot单文件配置

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

使用spring.profiles.active标识需要激活的配置环境使用---分割不同的配置环境spring.profiles指定配置环境名称

范例:

spring: profiles: active: profilesF user-defined: common-configuration: hi this common config!! --- server: port: 8000 spring: application: name: SplitF profiles: profilesF --- server: port: 8001 spring: application: name: SplitS profiles: profilesS 公有配置与spring.profiles.active同级spring.profiles.active用来激活,不同环境中配置的spring.profiles

3.SpringBoot多文件配置

在实际中我们总是希望将配置分散在不同的配置文件中,将通用的配置放置在单独的文件中,将测试和开发环境放置在别的文件中。 使用application-{profile}.properties的形式定义特殊的配置文件。使用spring.profiles.include,或spring.profiles.active将多个配置文件在主配置文件中激活。 范例:

配置文件包括,application.yml,application-comm.yml,application-dev.yml,application-test.yml

在application-comm.yml中放置公有配置

user-defined: common-configuration: hi this common config!!

在application-dev.yml和application-test.yml中分别定义一个开发环境和测试环境

user-defined: dev-configuration: hi this dev config!! server: port: 8888 user-defined: test-configuration: hi this dev config!! server: port: 6666

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

spring: profiles: #include: comm,dev active: - comm - dev

4.总结

在SpringBoot中拆分外部配置十分简便,①在单文件中使用---隔离;②使用application-{profile}.properties方式来组织多文件;此文章的github范例,点击获取参考: SpringBoot配置官方文档
最新回复(0)