YAML文件(.yml)中的键(key)通过变量引用来设置

2023-10-28

转自:https://www.cnblogs.com/haycheng/p/13299183.html

通过变量引用设置配置量的【值】(value)

在YAML文件中,一个配置量的可以通过引用另一个变量来设置。例如:

default-db:
  port: 3306

user-db:
  port: ${default-db.port}

但是,如果想通过变量引用设置,通过${}是做不到的。例如:

site:
  url:
    user: www.user.net
    shop: www.shop.net

site:
  slogan:
    ${site.url.user}: everyone is great!
    ${user.url.shop:}: buy anything you want!

在将配置读入程序中之后,你会发现上述的${}引用,并没有替换成真正的值。

通过锚点引用设置配置量的【键】(key)

要想替换键,则需要用到锚点。锚点用符号“&”定义,并用符号“*”进行引用。
锚点有两种使用方式,一是通过“<<:”将键值对一起引入

default-db: &default-db-config
  host: 127.0.0.1
  port: 3306

user-db:
  <<: *default-db-config

其实际效果如:

default-db:
  host: 127.0.0.1
  port: 3306

user-db:
  host: 127.0.0.1
  port: 3306

说明:&后面的锚点名字,可自己定义,不必与配置量的键相同。

另一种是仅引入配置的值

site:
  url:
    user: &site.user www.user.net
    shop: &site.shop www.shop.net

site:
  slogan:
    *site.user: everyone is great!
    *site.shop: buy anything you want!

其实际效果如:

site:
  url:
    user: www.user.net
    shop: www.shop.net

site:
  slogan:
    www.user.net: everyone is great!
    www.shop.net: buy anything you want!

说明:用&定义锚点时,注意锚点名前后的空格。

另一个仅引入值例子:

color:
  - &red-color red
  - yellow
  - blue
  - *red-color
  - gray

其实际效果如:

color:
  - red
  - yellow
  - blue
  - red
  - gray

参考文档:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

YAML文件(.yml)中的键(key)通过变量引用来设置 的相关文章

随机推荐

  • 总结node的优缺点

    Node js采用了谷歌的v8引擎 同时提供了多个系统级的API 这样就避免了在浏览器端运行javascript代码各种的限制 而node js就是运行在服务器端的js代码 JavaScript原始运行环境 JavaScript最早在浏览器
  • python+pyqt制作的可最小化到托盘的桌面图形应用代码实例

    本篇文章主要讲解使用python pyqt制作的可以最小化到托盘的桌面图形应用实例 日期 2023年6月11日 作者 任聪聪 效果演示 说明 实现桌面应用显示窗口 关闭窗口缩小到托盘 点击托盘显示窗口 邮件图标显示退出按钮 点击退出按钮即可
  • 寻路算法 --- A星寻路算法

    深度寻路算法应用场景 仅用于空旷地形 小游戏或者大游戏的某个小模块 点击地图 人物一步步试探 广度寻路算法应用场景 只适用于小地图 回合制的走格子游戏 上帝视角 在走之前已经把路都找出来了 A星寻路算法应用场景 应用场景广泛 RPG游戏 为
  • Python经典基础编程练习题(二)——每日10题

    1 编写一个程序 输入若干个单词 并且以逗号分隔按字母顺序排序后 以逗号分隔打印单词 输入 without hello bag world 输出 bag hello without world 解题思路 掌握分词和排序函数 a input
  • 面经——嵌入式软件工程师面试遇到的经典题目

    参考 嵌入式软件工程师面试遇到的经典题目 作者 一只青木呀 发布时间 2020 11 04 23 43 16 网址 https blog csdn net weixin 45309916 article details 109499825
  • Android-Java和HTML5交互-混合开发-优化

    现在很多的 APP中会嵌套HTML5的页面 比如经常变化的等等 有一部分页面需要原生Java与HTML5中的js进行交互操作 下面介绍一下android中HTML5的使用 1 关于HTML5种cookie 网页中可能会用到 用户信息等很多参
  • algorithm头文件下的常用函数

    max min abs max x y 和min x y 的两个参数可以是浮点数 abs x 的参数必须是整数 浮点型的绝对值要使用math头文件下的fabs swap reverse reverse it1 it2 可以将数组指针在 it
  • 华为8.21日成渝地区笔试题,,,超详细的喔

    8月22日面试的 面试感受放到牛客网上了 点下面链接即可 https www nowcoder com discuss 235118 笔试一共三道题 分别是100分 200分 300分 可以使用本地IDE 第一题 报文转义AC20 如果报文
  • c# 三维向量常用运算函数

    三维向量运算 求点到直线垂足交点 点到直线距离 计算向量夹角 计算AB与CD两条直线的交点 计算AB与CD两条线段的交点 判断点是否在四边形内 abcd为正方形时不准确 判断点p 是否在四边形abcd内 求点到直线垂足交点
  • rocketmq参数配置

    下载代码 git clone https github com tgou RocketMQ 1 打包 mvn Dmaven test skip trueclean package install assembly assembly U 2
  • [转]Mapx在C#中的应用

    在这段代码中 我们应用MapX控件结合老美地图做了最基本的 地图浏览功能 放大 缩小 拖动 全图 测量距离 测量面积 杨雨田 YangYutian Hotmail Com using System using System Drawing
  • 如何使用git命令添加文件和提交文件

    转载 https www cnblogs com olive27 p 6047646 html 1 进入指定文件夹内 启动 git bash here 2 初始化文件夹 git init 3 开始添加文件 所有文件添加方法 git add
  • 带有v-model的input 保证内容是非负整数,键盘输入适用

    带有v model的input 保证内容是非负整数 键盘输入适用 输入小数时自动四舍五入成整数 输入负数时自动变0 遇到的坑 不太会vue 一直按照普通input搞得 给input的value赋值 以为就完了 结果输入小数后 确实立刻变成了
  • Scala中的 方法map和flatMap

    map操作 map操作是针对集合的典型变换操作 它将某个函数应用到集合中的每个元素 并产生一个结果集合 比如 给定一个字符串列表 我们可以通过map操作对列表的中每个字符串进行变换 让每个字符串都变成大写字母 这样变换后就可以得到一个新的集
  • 高德地图的简单使用

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 如何在Vue中引入基础高德地图 1 注册并登录高德地图开放平台 2 安装高德地图加载器 二 封装一个自定义地图组件 并初始化 三 添加放大缩小地图 转盘 四 点
  • 学习君github

    一 冰蝎 https github com rebeyond Behinder 源代码审计漏洞 白盒测试的各种漏洞风险描述或具体修复方案 https github com wooyunwang Fortify Golang 100天从新手到
  • Web安全总结

    目录 网站架构 一般web服务器结构 相比于传统的网络攻击 基于web的攻击有什么不同 HTTP协议 HTTP响应拆分攻击 HTTPS 针对HTTPS协议的攻击 那么如何保证证书的唯一性 HTTP会话 Cookie和Session的关系 H
  • DCIC共享单车数据可视化教程!

    今天选取的地图是前几天利用数字中国创新大赛提供的共享单车数据做的一个可视化效果 很多人询问制作方法 今天给大家介绍下 自古有云 巧妇难为无米之炊 要做这种数据可视化 数据是关键 数据去哪里找呢 可以在DCIC官网下载 data xm gov
  • 如何统计字符出现频率

    可以使用 reduce 方法来统计字符出现的频率 下面是一个示例代码 const str Hello world const frequency str split reduce acc char gt if acc char acc ch
  • YAML文件(.yml)中的键(key)通过变量引用来设置

    转自 https www cnblogs com haycheng p 13299183 html 通过变量引用设置配置量的 值 value 在YAML文件中 一个配置量的值可以通过引用另一个变量来设置 例如 default db port