zoukankan      html  css  js  c++  java
  • YAML文件(.yml)中的键(key)通过变量引用来设置

    通过变量引用设置配置量的【值(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
    

    参考文档:

  • 相关阅读:
    性能测试系列(1)-性能测试基本概念
    性能篇综合汇总
    【CTFHUB】Web技能树
    Flash XSS
    绕过CDN找到⽬标站点真实IP
    【网鼎杯2020白虎组】Web WriteUp [picdown]
    【网鼎杯2020朱雀组】Web WriteUp
    【网鼎杯2020青龙组】Web WriteUp
    利用DNSLog实现无回显注入
    Cobalt Stike使用教程
  • 原文地址:https://www.cnblogs.com/haycheng/p/13299183.html
Copyright © 2011-2022 走看看