官网解释
Spring Cloud 构建于 Spring Boot 之上,在 Spring Boot 中有两种上下文,一种是 bootstrap, 另外一种是 application, bootstrap 是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。bootstrap 主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap 里面的属性会优先加载,它们默认也不能被本地相同配置覆盖。
两者区别
1、加载顺序区别
bootstrap配置文件是比application配置文件优先加载的,因为bootstrap是由spring父上下文加载,而application是由子上下文加载。
2、优先级区别
bootstrap加载的配置信息是不能被application的相同配置覆盖的,如果两个配置文件同时存在,也是以bootstrap为主。
3、应用场景区别
bootstrap常见应用场景
配置一些固定的,不能被覆盖的属性.用于一些系统级别的参数配置,本地的配置文件是默认不能覆盖远程的配置的。
一些需要加密/解密的场景。
当你使用了Spring Cloud Config配置中心时,这时需要在boostrap配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息。
application常见应用场景
常用于SpringBoot项目的自动化配置,用于一些应用级别的参数配置。
以上,在大部分情况下不用区分这两种情况,只需要使用application即可,效果基本是一致的。