首页 > 其他分享 >yml引用其他变量

yml引用其他变量

时间:2022-11-11 16:00:14浏览次数:57  
标签:shop www 变量 db site user net yml 引用

参考:https://blog.csdn.net/wasd986523/article/details/120249547

参考:YAML文件(.yml)中的键(key)通过变量引用来设置 - i江湖中人 - 博客园

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

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

`

1.  default-db:
    
2.    port: 3306
    

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

`


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

`

1.  site:
    
2.    url:
    
3.      user: www.user.net
    
4.      shop: www.shop.net
    

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

`


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

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

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

`

1.  default-db: &default-db-config
    
2.    host: 127.0.0.1
    
3.    port: 3306
    

5.  user-db:
    
6.    <<: *default-db-config
    

`


其实际效果如:

`

1.  default-db:
    
2.    host: 127.0.0.1
    
3.    port: 3306
    

5.  user-db:
    
6.    host: 127.0.0.1
    
7.    port: 3306
    

`


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

另一种是仅引入配置的值

`

1.  site:
    
2.    url:
    
3.      user: &site.user www.user.net
    
4.      shop: &site.shop www.shop.net
    

6.  site:
    
7.    slogan:
    
8.      *site.user: everyone is great!
    
9.      *site.shop: buy anything you want!
    

`


其实际效果如:

`

1.  site:
    
2.    url:
    
3.      user: www.user.net
    
4.      shop: www.shop.net
    

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

`


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

另一个仅引入值例子:

`

1.  color:
    
2.   - &red-color red
    
3.   - yellow
    
4.   - blue
    
5.   - *red-color
    
6.   - gray
    



`


其实际效果如:

`

1.  color:
    
2.   - red
    
3.   - yellow
    
4.   - blue
    
5.   - red
    
6.   - gray
    

`


参考文档:

标签:shop,www,变量,db,site,user,net,yml,引用
From: https://www.cnblogs.com/kuangke/p/16880753.html

相关文章

  • C++类中使用静态成员变量
    如果需要在类中使用静态成员变量,需要在头文件和.cpp文件各定义一次例如,有StaticTest.h和StaticTest.cpp两个文件StaticTest.h:classStaticTest{private:static......
  • 2022.11.11 方法引用与lambda并行流
    6.方法引用我们在使用lambda时,如果方法体中只有一个方法的调用的话(包括构造方法),我们可以用方法引用进一步简化代码。6.1推荐用法我们在使用lambda时不需要考虑什么时......
  • mybatis xml集合变量
    <sqlid="queryProductByCustomerCodeOrCustomerLineCodeWhere">IS_DELETED='0'<iftest="customerCode!=nullandcustomerCode!=''">andCUSTOMER_CODE=......
  • Linux Centos 设置环境变量
    一、环境变量的概念1、环境变量的含义程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的。2、环境变量的分类1)按生效的范围分类。系统......
  • 判断一个变量的数据类型
    调用Object.prototype.toString.call()方法Object.prototype.toString.call('1')'[objectString]'Object.prototype.toString.call(1)'[objectNumber]'Objec......
  • VS2019 error C4703: 使用了可能未初始化的本地指针变量 错误
    目录​​一、异常错误​​​​二、原因​​​​三、解决方法​​​​1.关闭安全开发生命周期(SDL)检查​​​​2.或者将指针变量初始化为nullptr​​一、异常错误errorC470......
  • 变量初始化与数据批量操作
    在tensorflow中通过tf.Variable()添加变量,变量就是在tensorflow程序运行中不断改变的量,也就是“学习”的过程,通过改变变量来降低loss  所有变量在进行图操作前,一定要进......
  • api-config.yml
    1api:2apiList:3-name:"超期发未收"4id:overdue_not_received5url:https://apigw.huawei.com/api/data-subject/app_000000035085/D......
  • 为什么局部变量需要显式设置初始化值
    我们在编程中,无时无刻地都在于方法打交道,而在方法中,我们很难不使用局部变量,比如我们有下面的这样一段很简单的代码publicvoiddump(){StringlocalName;System.......
  • Java8 新特性 - 方法引用
    ......