1.作用
profile 文件提供了一种方法来隔离应用程序配置的各个部分,并使其仅在某些环境中可用,可用于区分 开发 测试 生产 不同环境的配置
用?@Component
,?@Configuration
?or?@ConfigurationProperties 三个注解标识的类可以通过
@Profile 注解去区分不同的环境 示例如下
@Configuration(proxyBeanMethods = false)
@Profile("dev")
public class ProductionConfiguration {
// ...
}
项目的 application.properties配置如下
spring.profiles.active=dev,hsqldb
spring.profiles.active和spring.profiles.default只能在非配置文件特定的文档中使用。这意味着它们不能包含在由spring.config.activate.on-profile激活的特定于配置文件的文件或文档中。?
特定配置文档是指?application-{profile}
.properties 以及?application-{profile}.yaml
1. 添加生效的配置文件方式如下 (properties 方式)
spring.profiles.include[0]=common
spring.profiles.include[1]=local
等同于(yml 方式)
spring:
profiles:
include:
- "common"
- "local"
?Profile Groups 的方式
spring.profiles.group.production[0]=proddb
spring.profiles.group.production[1]=prodmq
通过程序去设置 profile
SpringApplication den = new SpringApplication();
den.setAdditionalProfiles("dev");