最近新项目中对配置文件的场景使用较多,而且格式也比较灵活多变,而之前用的配置格式,用起来显的非常费劲。
KV形式的.conf
.properties
类配置文件,对数据格式的支持不够,经常需要自行在Value值中自定义结构,例如 多个值用|
隔开,字符串和数字类型容易混淆等
用Json文件来做配置文件,数据结构上没问题,但当json内容非常多时候,手动编辑时候结构上非常不清楚,而且最主要是修改时候,一不小心就会少一个{
,或者]
:
导致json格式解析报错,最后不得不从配置文件中复制出来,去bejson.com等网站校验格式,找问题。
作为配置文件,格式上显得非常复杂,尤其是解析时候经常出问题。我逼不得已从来不用,想起原来做WebService接口时候,wsdl文件满屏幕的xml,就非常痛苦。
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数据。