【发布时间】:2015-11-29 20:50:33
【问题描述】:
从 spring 文档 http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-yaml 我看到外部 YAML 文件是可能的。
我能够使用 PropertyPlaceholderConfig FileSystem 资源在 yaml 中加载,但它不支持活动配置文件。
我看到 application.properties 可以使用 @PropertySource,但根据文档,这不适用于 YAML。
所以底线问题:如何在 Spring4/spring boot 中以配置文件感知方式指定 application.yml。
注意:它适用于 src/main/resources/application.yml
【问题讨论】:
-
只需在
application.yml旁边放置一个application-[profile].yml。如您所指的同一链接中所述。 Spring Boot 会自动加载它。 -
这适用于使用标准属性文件的类路径资源。我的目标是外部资源 yaml(一个文件中的所有配置文件)
-
请阅读文档而不是创建您自己的解释。它也适用于 YAML 文件。除此之外,它还适用于与 jar 或配置目录位于同一目录中的文件。所以再次阅读该配置部分...如果您想指定一个文件,只需使用
--spring.config.location启动您的应用程序,该部分将进一步解释 (docs.spring.io/spring-boot/docs/current/reference/html/…)。 -
我已多次阅读文档,但仍然感谢您的回复。缺少的部分是在我的 spring.config.location 变量中指定 file: 前缀,它现在可以工作了。
-
@redwhite 如果您可以将我指向任何解决此问题的公共 github 存储库,那将非常有帮助。
标签: spring spring-boot