springBoot深度解析-03springboot配置简介

spring Profiles提供了一种分离应用程序配置部分并使其仅在某些环境中可用的方法。例如@Component@Configuration或者@ConfigurationProperties可以在@Profile加载时标记为限制,如下例所示:

@Configuration(proxyBeanMethods = false)
@Profile("production")
public class ProductionConfiguration {

    // ...

}
如果@ConfigurationPropertiesbean是通过@EnableConfigurationProperties而不是自动扫描注册的,则@Profile需要在@Configuration@EnableConfigurationProperties注解的类上指定注解。在@ConfigurationProperties扫描的情况下,@Profile可以在@ConfigurationProperties类本身上指定

 您可以使用spring.profiles.active Environment属性来指定哪些配置文件处于活动状态。您可以使用本章前面描述的任何方式指定属性。例如,您可以将它包含在您的 中application.properties,如下例所示:

spring.profiles.active=dev,hsqldb

您还可以使用以下开关在命令行上指定它:--spring.profiles.active=dev,hsqldb.

如果没有配置文件处于活动状态,则启用默认配置文件。默认配置文件的名称是default,可以使用该spring.profiles.default Environment属性进行调整,如以下示例所示:

spring.profiles.default=none

3.1. 添加活动配置文件

spring.profiles.active属性遵循与其他属性相同的排序规则:最高者PropertySource获胜。这意味着您可以指定活动配置文件application.properties,然后使用命令行开关替换它们。

有时,将属性添加到活动配置文件而不是替换它们是很有用的。该SpringApplication入口点设置额外的配置文件的Java API(即,是对那些被激活的顶级spring.profiles.active属性)。参见SpringApplication 中setAdditionalProfiles()方法。如果给定的配置文件处于活动状态,则下一节中描述的配置文件组也可用于添加活动配置文件。

3.2. 配置文件组

有时,您在应用程序中定义和使用的配置文件过于精细,使用起来很麻烦。例如,你可能有proddbprodmq配置文件,您使用启用数据库和信息功能独立。

为了解决这个问题,Spring Boot 允许您定义配置文件组。配置文件组允许您为相关的配置文件组定义逻辑名称。

例如,我们可以创建一个production包含我们proddbprodmq个人资料的组。

spring.profiles.group.production[0]=proddb
spring.profiles.group.production[1]=prodmq

3.3. 以编程方式设置配置文件

您可以通过SpringApplication.setAdditionalProfiles(…​)在应用程序运行之前调用来以编程方式设置活动配置文件。也可以使用 Spring 的ConfigurableEnvironment界面来激活配置文件

 

3.4. 特定于配置文件的配置文件

application.properties(或application.yml) 和通过引用的文件的特定于配置文件的变体@ConfigurationProperties被视为文件并加载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂攻城师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值