如何使用配置文件在spring中指定外部application.yml

时间:2015-09-03 21:08:50

标签: spring spring-boot

从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

1 个答案:

答案 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