官方文档解释的大概意思
Spring Cloud 构建与 Spring Boot 之上,在Spring Boot 中有两种上下文,一种是 bootstrap,另一种是 application。
bootstrap 是应用程序的父上下文,加载优先于 application。
bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。
这两个上下文共用一个环境,它是任何 Spring 应用程序的外部属性来源。
bootstrap 里面的属性会优先加载,他们默认也不能被本地相同的配置覆盖。
bootstrap 配置文件特性(对比 application)
- bootstrap 由父 ApplicationContext 加载,比 application 优先加载
- bootstrap 里面的属性不能被覆盖
应用场景
- application
- 主要用于 Spring Boot 项目的自动化配置
- bootstrap
- 使用 Spring Cloud Config 配置中心时,这时需要在bootstrap 配置文件中添加连接到配置中心的配置属性,来加载外部配置中心的配置信息
- 一些固定的不能被覆盖的属性
- 一些加密/解密的场景