Springcloud的配置文件bootstrap与application的思考

a 夏天 提交于 2020-01-21 00:38:55

加载顺序

  1. bootstrap(.yml 或者 properties) 由父ApplicationContext加载,比application(.yml 或者 properties)优先加载
  2. bootstrap(.yml 或者 properties) 里面的属性不能被覆盖

原理

Spring是有上下文一说的,也叫Application Context,Application Context又是有父子关系的,所以必须要理解ApplicationContext是什么。SpringCloud启动时,会先创建一个Bootstrap Context,然后创建一个Application Context,Bootstrap Context是Application Context的父上下文,Bootstrap负责从外部源加载配置并解析,这两个上下文共用一个从外部获取的Environment。Bootstrap配置具有较高的优先级,不会被本地配置覆盖。Bootstrap典型的应用场景是使用SpringConfig,这个时候你需要把配置信息配在bootstrap里面。Bootstrap属于引导配置,Application属于应用配置。

应用场景

  1. application
    自动化配置
  2. bootstrap
    bootstrap 配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息
    一些固定的不能被覆盖的配置
    一些加密/解密的场景
    系统级别的一些参数配置
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!