SpringBoot中属性文件,YAML文件和命令行参数之间的优先顺序

SpringBoot中属性文件,YAML文件和命令行参数之间的优先顺序,第1张

SpringBoot中属性文件,YAML文件和命令行参数之间的优先顺序

Spring Boot属性解析属性的顺序在这里描述。

不能使用

application.properties

application.yaml
。使用一种格式或另一种格式,但不能同时使用两者。无论您使用哪种文件,都将按照属性优先顺序在位置12或13(取决于文件是否打包在应用程序JAR中)进行处理。

在此处包括上述链接的摘录,以避免链接腐烂…

Spring Boot使用一个非常特殊的PropertySource顺序,该顺序旨在允许合理地覆盖值。按以下顺序考虑属性:

  1. 您的主目录上的Devtools全局设置属性(在devtools处于活动状态时,为〜/ .spring-boot-
    devtools.properties)。
  2. 测试上的@TestPropertySource批注。
  3. 测试中的@ SpringBootTest#properties批注属性。
  4. 命令行参数。
  5. 来自SPRING_APPLICATION_JSON的属性(嵌入在环境变量或系统属性中的内联JSON)
  6. ServletConfig的初始化参数。
  7. ServletContext的初始化参数。
  8. 来自Java:comp / env的JNDI属性。
  9. Java系统属性(System.getProperties())。
  10. *** 作系统环境变量。
  11. 一个RandomValuePropertySource,仅具有random。*属性。
  12. 打包的jar之外的特定于配置文件的应用程序属性(application- {profile} .properties和YAML变体)
  13. 打包在jar中的特定于配置文件的应用程序属性(application- {profile} .properties和YAML变体)
  14. 打包的jar之外的应用程序属性(application.properties和YAML变体)。
  15. 打包在jar中的应用程序属性(application.properties和YAML变体)。
  16. @Configuration类上的@PropertySource批注。
  17. 默认属性(使用SpringApplication.setDefaultProperties指定)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5621660.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存