在 spring boot 中将属性放在 application.yml 或 bootstrap.yml 上有什么区别?

2022-08-31 04:54:52

在 spring boot 中将属性放在 application.yml 或 bootstrap.yml 上有什么区别?在loging.config的情况下,应用程序的工作方式不同。


答案 1

我刚刚问了那些家伙,并认为我应该分享我在这里的信息。Spring Cloud

bootstrap.ymlapplication.yml 之前加载。

它通常用于以下情况:

  • 使用Spring Cloud Config Server时,您应该指定和内部spring.application.namespring.cloud.config.server.git.uribootstrap.yml
  • 一些信息encryption/decryption

从技术上讲,由父弹簧加载。该父级在使用 的父级之前加载。bootstrap.ymlApplicationContextApplicationContextapplication.yml


答案 2

bootstrap.ymlbootstrap.properties

仅当您使用Spring Cloud并且您的应用程序配置存储在远程配置服务器(例如Spring Cloud Config Server)上时,才会使用它/需要它。

从文档中:

Spring Cloud应用程序通过创建“引导”上下文来运行,该上下文是主应用程序的父上下文。开箱即用,它负责从外部源加载配置属性,并解密本地外部配置文件中的属性。

请注意,or 可以包含其他配置(例如默认值),但通常您只需要在此处放置引导配置。bootstrap.ymlbootstrap.properties

通常,它包含两个属性:

  • 配置服务器的位置 (spring.cloud.config.uri)
  • 应用程序的名称 (spring.application.name)

启动后,Spring Cloud使用应用程序的名称对配置服务器进行HTTP调用,并检索回该应用程序的配置。

application.ymlapplication.properties

包含标准应用程序配置 - 通常是默认配置,因为在引导过程中检索到的任何配置都将覆盖此处定义的配置。


推荐