Skip to content

Instantly share code, notes, and snippets.

@arrayadd
Last active June 1, 2017 11:58
Show Gist options
  • Save arrayadd/4f2508402de6096b2ef98d0217165092 to your computer and use it in GitHub Desktop.
Save arrayadd/4f2508402de6096b2ef98d0217165092 to your computer and use it in GitHub Desktop.
你需要一个格式优雅的配置文件

最近新项目中对配置文件的场景使用较多,而且格式也比较灵活多变,而之前用的配置格式,用起来显的非常费劲。


KV格式

KV形式的.conf .properties类配置文件,对数据格式的支持不够,经常需要自行在Value值中自定义结构,例如 多个值用|隔开,字符串和数字类型容易混淆等


JSON格式

用Json文件来做配置文件,数据结构上没问题,但当json内容非常多时候,手动编辑时候结构上非常不清楚,而且最主要是修改时候,一不小心就会少一个{,或者] :导致json格式解析报错,最后不得不从配置文件中复制出来,去bejson.com等网站校验格式,找问题。


Xml格式

作为配置文件,格式上显得非常复杂,尤其是解析时候经常出问题。我逼不得已从来不用,想起原来做WebService接口时候,wsdl文件满屏幕的xml,就非常痛苦。


为配置而生的YAML

    name: Nathan Sweet
    age: 28
    address: 4011 16th Ave S
    phone numbers:
     - name: Home
       number: 206-555-5138
     - name: Work
       number: 425-555-2306

像上面这种一个YAML格式配置文件,结构简洁清晰,支持数据结构丰富,非常好用。貌似spring 也在用yaml 提到xml了。

Java Api 库

目前YAML官网推荐了4个Java库:

另外,我在GitHub上翻译的YamlBeans中文文档也被官方采纳了,推荐大家使用YamlBeans ,点这里快速使用YamlBeans来解析YAML数据。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment