做 java 項目用的最多的配置文件就是 properites 或者 xml, xml 確實是被用爛了,Struts, Spring, Hibernate(ssh) 無一不用到 xml。相比厚重的 xml, properites 要清爽許多,一般的項目自己需要的配置也足夠使用。但 properties 只支持 key=value 這種形式的配置,如果再遇到復雜結構的配置,恐怕難以勝任。
這時候
YAML 出場,yaml 不僅可以做到 properites 的小清新,也可以做到 xml 的表達復雜的結構的能以。
map
name: bastengao
money: 500W
interest: coding
array/collection
- 張三 - 李四 - 王武
混合
- name: bastengao money: 500W interest: coding - name: 張三 money: 0.01 interest: eating
以上只是舉幾個例子,詳細的語法參考,
yaml spec 1.2。
用 java 讀取 yaml 文件可以使用
snakeymal,maven 項目可以直接引依賴。
<dependencies> ... <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>1.13</version> </dependency> ... </dependencies>
snakeyaml 讀取 yaml
InputStream input = new FileInputStream("config.yml"); Yaml yaml = new Yaml(); Map<String, Object> object = (Map<String, Object>) yaml.load(input);
