snakeyaml讀取yaml配置文件

關於yaml是個什麼東西,就不細說了。
yaml官方文檔:http://www.yaml.org/
snakeyaml是用Java實現的解析yaml文件的庫,官方wiki: https://bitbucket.org/asomov/snakeyaml/wiki/Documentation

下面上我解析yaml文件的例子:

// me.yaml
age: 1  
name: jiaobuchong
params:   
  event: what's up
  url:  http://www.jiaobuchong.com
favoriteBooks:      
  - Gone with the wind
  - The Little Prince

對應的JavaBean類:

// Me.java
public class Me {
    private Integer age;
    private String name;
    private Map<String, Object> params;
    private List<String> favoriteBooks;

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Map<String, Object> getParams() {
        return params;
    }

    public void setParams(Map<String, Object> params) {
        this.params = params;
    }

    public List<String> getFavoriteBooks() {
        return favoriteBooks;
    }

    public void setFavoriteBooks(List<String> favoriteBooks) {
        this.favoriteBooks = favoriteBooks;
    }

    @Override
    public String toString() {
        return "Me{" +
                "age=" + age +
                ", name='" + name + '\'' +
                ", params=" + params +
                ", favoriteBooks=" + favoriteBooks +
                '}';
    }
}

將配置項隱射到JavaBean中:

public class TestMeYaml {
    @Test
    public void testParseMeYaml() throws FileNotFoundException {
        Yaml yaml = new Yaml();
        Me me = yaml.loadAs(new FileInputStream(new File("config/me.yaml")), Me.class);
        System.out.println(me);
    }
}

如果yaml文件中有一個參數沒有配置,隱射到JavaBean中的值就是null。



作者:jiaobuchong
鏈接:https://www.jianshu.com/p/dd4bb7305ccf
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章