博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
springcloud应用程序上下文层次结构
阅读量:6821 次
发布时间:2019-06-26

本文共 1165 字,大约阅读时间需要 3 分钟。

hot3.png

如果您从SpringApplicationSpringApplicationBuilder构建应用程序上下文,则将Bootstrap上下文添加为该上下文的父级。这是一个Spring的功能,即子上下文从其父进程继承属性源和配置文件,因此与不使用Spring Cloud Config构建相同上下文相比,“主”应用程序上下文将包含其他属性源。额外的财产来源是:

  • “bootstrap”:如果在Bootstrap上下文中找到任何PropertySourceLocators,则可选CompositePropertySource显示为高优先级,并且具有非空属性。一个例子是来自Spring Cloud Config服务器的属性。有关如何自定义此属性源的内容的说明,请参阅下文。

  • “applicationConfig:[classpath:bootstrap.yml]”(如果Spring配置文件处于活动状态,则为朋友)。如果您有一个bootstrap.yml(或属性),那么这些属性用于配置引导上下文,然后在父进程设置时将它们添加到子上下文中。它们的优先级低于application.yml(或属性)以及作为创建Spring Boot应用程序的过程的正常部分添加到子级的任何其他属性源。有关如何自定义这些属性源的内容的说明,请参阅下文。

由于属性源的排序规则,“引导”条目优先,但请注意,这些条目不包含来自bootstrap.yml的任何数据,它具有非常低的优先级,但可用于设置默认值。

您可以通过简单地设置您创建的任何ApplicationContext的父上下文来扩展上下文层次结构,例如使用自己的界面,或使用SpringApplicationBuilder方便方法(parent()child()sibling())。引导环境将是您创建自己的最高级祖先的父级。层次结构中的每个上下文都将有自己的“引导”属性源(可能为空),以避免无意中将值从父级升级到其后代。层次结构中的每个上下文(原则上)也可以具有不同的spring.application.name,因此如果存在配置服务器,则不同的远程属性源。普通的Spring应用程序上下文行为规则适用于属性解析:子环境中的属性通过名称和属性源名称覆盖父项中的属性(如果子级具有与父级名称相同的属性源,一个来自父母的孩子不包括在孩子中)。

请注意,SpringApplicationBuilder允许您在整个层次结构中共享Environment,但这不是默认值。因此,兄弟情境尤其不需要具有相同的资料或财产来源,尽管它们与父母共享共同点。完整项目的源码来源 技术支持1791743380

转载于:https://my.oschina.net/u/3826344/blog/1931178

你可能感兴趣的文章
c读写文件
查看>>
pytorch怎么抽取中间的特征或者梯度
查看>>
iOS自动布局(autolayout)下图片编辑器的实现
查看>>
yii2配置邮件发送总是提示授权不正确的解决方案?
查看>>
hdu1081 DP类最大子段和(二维压缩+前缀和数组/树状数组计数)
查看>>
CLR 无法从 COM 上下文 0x208f68 转换为 COM 上下文 0x2090d8,这种状态已持续 60 秒。...
查看>>
Django初步完成:登录、注册、退出
查看>>
2018 MAC下安装Redis和Redis可视化工具RDM并连接Redis
查看>>
visual studio用"查找替换"来删掉源代码中所有//方式的纯注释和空行
查看>>
PHP数据类型
查看>>
第184天:js创建对象的几种方式总结
查看>>
第201天:js---实现继承的5种方式
查看>>
mysql 中varchar(50)最多能存多少个汉字
查看>>
TCP可靠传输及流量控制实现原理
查看>>
页面通过ajax传值到后台,后台返回值展示在页面输入框
查看>>
poi3.8 word
查看>>
react-router-dom实现全局路由登陆拦截
查看>>
STL基础3:map
查看>>
个人作业4——alpha阶段个人总结
查看>>
Oracle11g 新功能
查看>>