【SpringCloud】bootrsap和application关系

bootstrap和application是SpringBoot和SpringCloud的配置文件。主要区别和联系如下:

  • 加载顺序。bootstrap配置文件比application配置文件优先加载。这是因为bootstrap是由Spring的父上下文(Parent ApplicationContext)加载的,而application则是由子上下文(Child ApplicationContext)加载的。具体来说,加载顺序为:bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml。
  • 优先级。bootstrap加载的配置信息默认不能被application中的相同配置覆盖。如果两个配置文件同时存在,bootstrap的配置信息将优先被应用。这一特性使得bootstrap配置文件适合用于配置一些固定的、不能被覆盖的属性,以及需要加密/解密的场景。
  • 应用场景不同
    • bootstrap,主要用于从额外的资源(如外部配置中心)加载配置信息;当使用Spring Cloud Config配置中心时,需要bootrstrap配置中心添加练剑到配置中心的配置属性,一遍架子啊外部配置中心的配置信息;适用于配置一些系统级别的的参数,这些参数通常不应该被本地配置文件覆盖。
    • application,常用语Spring Boot项目的自动化配置;主要用于应用级别的参数配置,这些配置通常针对特定应用,且可能需要不同的环境(开发、测试、生产)进项调整;在大部分情况下,如果只使用Spring Boot而不涉及Spring Cloud的高级特征,使用application配置文件即可满足需求。

问题

新创建一个 springboot项目,添加了 bootstrap.yml 文件,发现文件并没有如预期变成绿色叶子,编写的时候也没有自动提示。

可能原因:单纯的 springboot 项目只会识别 application.* 配置文件, bootstrap.yml 它不认识啊,所以并没有被识别为配置文件。Spring Cloud项目能识别bootstrap。添加一个依赖,就能把Spring Boot变成Spring Cloud了。

 <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-bootstrap</artifactId>
 </dependency>
posted @ 2024-11-29 10:24  陆陆无为而治者  阅读(22)  评论(0编辑  收藏  举报