美文网首页
yml和properties

yml和properties

作者: 鹏程1995 | 来源:发表于2020-02-14 17:05 被阅读0次

    .yml和.properties两种格式文件介绍

    .properties介绍

    .properties是一种主要在Java相关技术中用来存储应用程序的可配置参数的文件的文件扩展名。它们也可以存储用于国际化和本地化的字符串,这种文件被称为属性资源包(Property Resource Bundles)。
    每个参数被存储为一对字符串:一个存储名称参数(被称为“键”),另一个存储值。
    

    以上的 引用来自Wiki点击跳转

    .yml介绍

    YAML(/ˈjæməl/)语言,是一种可读性高、用来表达数据序列的格式。YAML的意思是 'Yet Another Markup Language',即‘仍是一种标记语言’。这个语言以数据为中心

    YAML语言通过空格缩进来展现数据序列,避开了封闭符号,简洁一目了然。

    .properties文件语法规范

    罗列如下:

    1. .properties文件每行以key=value,key = value,key : valuekey value等格式来描述单个属性
    2. .properties注释以井号(#),叹号(!)作为一行中第一个非空白字符来表示它后面的文本都是一个注释【引用自Wiki】
    3. .properties文件的编码是ISO-8859-1,又称Latin-1,所有非Latin-1的字符得用编码输入【才知道ISO-8859-1就是Latin-1,原来一直以为是两种编码格式】所以在里面配置中文时要小心,要做好读取内容时的转码工作

    .yml文件语法规范

    罗列如下:

    1. YAML通过空格缩进,展现层次结构,空格的多少无所谓,相同层级的对齐即可
    2. 字符串不用加双引号,
    3. 缩进用空格,不要用TAB
    4. 有大量文本时,在变量名冒号后面加上
      1. |:保留换行
      2. >:将换行转化为空格

    YAML语言的一些独特的表达方式:

    数组表示

    array: 
     - BeiJing
     - HeBei
     - HeNan
    

    转化为JSON为:

    array:[BeiJing,HeBei,HeNan]
    

    散列表

    可以理解为map,键值对的

    server:
       port: 80
       context: /Blog
       
    

    转化为JSON为:

    {
      server:{
        port:80,
        context:/Blog
      }
    }
    

    特殊的表示

    • null~表示
    • 字符串可以加单引号表示,字符串之间可以有空格
    • 字符串里面有单引号,需要在单引号之前加单引号转义

    YAML引用

    template: &templateTag
        name: LiPengcheng
        phone: 123456789
        weight: ~
    useTemplate:
        place: China
        <<*templateTag
    

    等价于下面的JSON:

    template:{
      name:LiPengcheng,
      phone: 123456789,
      weight:null
    },
    useTemplate{
      place:China,
      name:LiPengcheng,
      phone: 123456789,
      weight:null
    }
    
    

    &用来建立锚点,<<表示合并到当前数据,*用来引用锚点。

    下面时引用的另一种用法:

    array:
     - &value1Tag value1
     - value2
     - value3
    

    等价JSON

    array:[value1,value2,value3,value1]
    

    相关文章

      网友评论

          本文标题:yml和properties

          本文链接:https://www.haomeiwen.com/subject/yokjfhtx.html