我有一个库,它是一个Spring Boot项目。该库有一个library.yml文件,其中包含其配置的dev和prod属性:
library.yml
---
spring:
profiles:
active: dev
---
spring:
profiles: dev
env: dev
---
spring:
profiles: prod
env: prod
另一个应用程序使用此库并使用以下方式加载道具:
@Bean
public static PropertySourcesPlaceholderConfigurer dataProperties() {
PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();
YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
yaml.setResources(new ClassPathResource("library.yml"));
propertySourcesPlaceholderConfigurer.setProperties(yaml.getObject());
return propertySourcesPlaceholderConfigurer;
}
其application.yml文件指定使用开发环境属性:
---
spring:
profiles:
active: dev
但是当我检查env的值时,我得到的是"prod"。为什么?
如何告诉Spring Boot在library.yml中使用活动(例如dev)配置文件属性?
注意:我更喜欢使用.yml文件而不是.properties文件。