侧边栏壁纸
博主头像
Wyatt博主等级

Done is better than perfect!

  • 累计撰写 103 篇文章
  • 累计创建 31 个标签
  • 累计收到 7 条评论

application-properties和-bootstrap-yml的区别

Wyatt
2018-05-08 / 0 评论 / 0 点赞 / 506 阅读 / 990 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2020-12-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1.加载顺序区别

首先ymlproperties文件都是属于配置文件,功能一样。主要是区别于application和bootstrap的加载顺序。

Bootstrap.yml(bootstrap.properties)在application.yml(application.properties)之前加载,就像application.yml一样,但是用于应用程序上下文的引导阶段。

2.典型场景

1.当使用 Spring Cloud Config Server的时候,你应该在 bootstrap.yml里面指定 spring.application.name和 spring.cloud.config.server.git.uri
2.一些加密/解密的信息
技术上,bootstrap.yml由父Spring ApplicationContext加载。父ApplicationContext被加载到使用application.yml的之前。

当使用 Spring Cloud 的时候,配置信息一般是从 config server 加载的,为了取得配置信息(比如密码等),你需要一些提早的或引导配置。因此,把 config server 信息放在 bootstrap.yml,用来加载真正需要的配置信息。

3.属性覆盖问题

启动上下文时,Spring Cloud会创建一个Bootstrap Context,作为Spring应用的Application Context的父上下文。初始化的时候,Bootstrap Context负责从外部源加载配置属性并解析配置。这两个上下文共享一个从外部获取的EnvironmentBootstrap属性有高优先级,默认情况下,它们不会被本地配置覆盖Bootstrap contextApplication Context有着不同的约定,所以新增了一个bootstrap.yml文件,而不是使用application.yml (或者application.properties)。保证Bootstrap ContextApplication Context配置的分离。

0

评论区