• [转载]application.properties和 bootstrap.yml 区别


    原文:https://www.jianshu.com/p/0eb06eb9cf1f
    1.首先yml和properties文件都是属于配置文件,功能一样。主要是区别于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负责从外部源加载配置属性并解析配置。这两个上下文共享一个从外部获取的Environment。Bootstrap属性有高优先级,默认情况下,它们不会被本地配置覆盖。 Bootstrap context和Application Context有着不同的约定,所以新增了一个bootstrap.yml文件,而不是使用application.yml (或者application.properties)。保证Bootstrap Context和Application Context配置的分离。

    作者:Fredia_Wang
    链接:https://www.jianshu.com/p/0eb06eb9cf1f
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    C#类的访问修饰符
    C#中抽象类和接口的区别
    C#正则表达式Regex类的介绍
    .net平台借助第三方推送服务在推送Android消息(极光推送)
    C#钩子类 几乎捕获键盘鼠标所有事件
    .net平台推送ios消息
    c# 滚动字幕的实现
    .net 序列化与反序列化
    Python学习---Django的新工程设置模板
    Python学习---DjangoForm的学习
  • 原文地址:https://www.cnblogs.com/tandi19960505/p/11891901.html
Copyright © 2020-2023  润新知