java实现读取yaml文件,并获取值

首先在项目src目录下新建一个test.yaml的文件.

代码如下:

spring:
    application:
        name: cruncher
    datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost/test
server:
    port: 9000

然后test代码:

package com.ming.yaml;

import java.io.FileInputStream;
import java.net.URL;
import java.util.Map;

import org.yaml.snakeyaml.Yaml;

public class Test {

    public static void main(String[] args) {
        
        try {
            Yaml yaml = new Yaml();
            URL url = Test.class.getClassLoader().getResource("test.yaml");
            if (url != null) {
                //获取test.yaml文件中的配置数据,然后转换为obj,
                Object obj =yaml.load(new FileInputStream(url.getFile()));
                System.out.println(obj);
                //也可以将值转换为Map
                Map map =(Map)yaml.load(new FileInputStream(url.getFile()));
                System.out.println(map);
                //通过map我们取值就可以了.
                
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        
        
    }

}

运行结果如下:

小结:通过获取yaml文件的配置属性,通过map取值即可,如果想将获取的字符串转为对象,可以通过第三方插件库转。这个yaml文件确实比属性文件强大多了.

原文地址:https://www.cnblogs.com/huzi007/p/5841699.html