从spring文档http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-yaml我看到可以使用外部YAML文件。
我能够使用PropertyPlaceholderConfig文件系统资源来加载yaml,但它不尊重活动配置文件。
我在application.properties中看到你可以使用@PropertySource,但根据文档,这对YAML不起作用。
所以底线问题:如何在Spring4 / spring boot中以配置文件感知方式指定application.yml。
注意:它适用于src / main / resources / application.yml
答案 0 :(得分:14)
为了指定外部配置文件感知.yml文件,可以使用SPRING_CONFIG_LOCATION和SPRING_PROFILES_ACTIVE系统变量。
JAVA_OPTS示例
-Dspring.profiles.active=dev -Dspring.config.location=file:C:/application.yml
这将允许您在YML文件中提供多个配置文件,让spring重新评估正确的属性:
spring:
profiles: dev
someprop: devprop
---
spring:
profiles: test
someprop: testprop