MAC*_*MAC 11 yaml command-line-arguments spring-boot intellij-idea-2016 application.properties
我一直application.properties
在Spring应用程序中使用文件.但最近我遇到了application.yaml
文件.这三者之间的优先顺序是什么,并且使用个人的优势(如果有的话).
我知道这可能是个愚蠢的问题.但我对他们的用法感到困惑.
gly*_*ing 19
使用application.properties
和 application.yaml
不期望.使用一种格式或另一种格式但不能同时使用.您使用的任何一个将在属性优先顺序中的位置12或13(取决于文件是否打包在应用程序JAR中)处理.
包括上面链接的摘录,以避免链接腐烂...
Spring Boot使用一个非常特殊的PropertySource命令,旨在允许合理地覆盖值.按以下顺序考虑属性:
- 在您的主目录上开发全局设置属性(当devtools处于活动状态时,〜/ .spring-boot-devtools.properties).
- @TestPropertySource测试注释.
- 测试中的@ SpringBootTest#properties annotation属性.
- 命令行参数.
- SPRING_APPLICATION_JSON中的属性(嵌入在环境变量或系统属性中的内联JSON)
- ServletConfig初始化参数.
- ServletContext init参数.
- 来自java:comp/env的JNDI属性.
- Java系统属性(System.getProperties()).
- OS环境变量.
- RandomValuePropertySource,只具有随机属性.*.
- 打包jar之外的特定于配置文件的应用程序属性(application- {profile} .properties和YAML变体)
- 打包在jar中的特定于配置文件的应用程序属性(application- {profile} .properties和YAML变体)
- 打包jar之外的应用程序属性(application.properties和YAML变体).
- 打包在jar中的应用程序属性(application.properties和YAML变体).
- @Configuration类上的@PropertySource注释.
- 默认属性(使用SpringApplication.setDefaultProperties指定).
简单来说,
如果你有 yaml 和 properties 文件并且两者都有相同的键,那么 spring boot 将首先在属性中查找,如果没有找到,则将转到 yaml。
归档时间: |
|
查看次数: |
7165 次 |
最近记录: |