bootstrap.yml
是 Spring Boot 应用程序的一个配置文件,它比 application.yml
更早地加载,并且主要用于以下两个目的:
1、加载应用程序上下文之前的外部配置文件
在SpringBoot应用程序启动时,它首先会加载bootstrap.yml文件中定义的属性,这些属性可以用于配置诸如外部配置服务器、加密/解密、配置日志级别等应用程序上下文之前需要的业务。
2、作为应用程序上下文的父上下文
配置Spring应用程序的解析器(Spring Application Context Hierarchies) 通过bootstrap.yml
中的配置,可以将Spring Boot应用程序的应用上下文作为父上下文,并将它们与其他应用程序上下文分离。这样的好处是父上下文中的Bean可以在子上下文中继承并覆盖,实现不同环境下的配置灵活性。
需要注意的是,bootstrap.yml
是在应用程序启动的最早阶段加载的,因此它的配置优先级高于 application.yml
和其他配置文件。因此,如果在 bootstrap.yml
和其他配置文件中都定义了同名的属性,bootstrap.yml
中定义的属性将优先生效。
另外,bootstrap.yml
文件的命名也可以使用bootstrap.properties
,这时候配置格式就是键值对的形式,而不是yml
格式的。