yaml的使用

yaml|properties语法连接

yaml语法连接
properties语法连接

pom的依赖

<!--yam-->
<dependency>
  <groupId>org.yaml</groupId>
  <artifactId>snakeyaml</artifactId>
  <version>1.16</version>
</dependency>

java类与yaml的对应关系

在这里插入图片描述
serverconfig.yaml的存放路径
/resources/localConfig/serverconfig.yaml
在这里插入图片描述

加载yaml文件

在这里插入图片描述

具体的代码

取得yaml文件并且转化为java实体类

public class YamMain {
    public static void main(String[] args) throws IOException {
        File serverconfig = new File(YamMain.class.getResource("/localConfig/serverconfig.yaml").getFile());
        try (
                FileInputStream fileInputStream = new FileInputStream(serverconfig);
                InputStreamReader inputStreamReader=new InputStreamReader(fileInputStream,"UTF-8");
        ){
            Yaml yaml = new Yaml(new org.yaml.snakeyaml.constructor.Constructor(ServerConfig.class));
            ServerConfig serverConfig = yaml.loadAs(inputStreamReader, ServerConfig.class);
            System.out.println(serverConfig.getGroupId());
        }
    }
}

java实体类

ServerConfig

package com.qbsea.yamload1.config;

public class ServerConfig {
    private String groupId;
    private String serverAddress;
    private String raftAddresses;
    private NodeOptions nodeOptions;
    private ExtInterface extInterface;
    //set and get method

    public String getRaftAddresses() {
        return raftAddresses;
    }

    public void setRaftAddresses(String raftAddresses) {
        this.raftAddresses = raftAddresses;
    }

    public String getGroupId() {
        return groupId;
    }
    public void setGroupId(String groupId) {
        this.groupId = groupId;
    }
    public String getServerAddress() {
        return serverAddress;
    }
    public void setServerAddress(String serverAddress) {
        this.serverAddress = serverAddress;
    }
    public NodeOptions getNodeOptions() {
        return nodeOptions;
    }

    public void setNodeOptions(NodeOptions nodeOptions) {
        this.nodeOptions = nodeOptions;
    }
    public ExtInterface getExtInterface() {
        return extInterface;
    }
    public void setExtInterface(ExtInterface extInterface) {
        this.extInterface = extInterface;
    }
}

NodeOptions

package com.qbsea.yamload1.config;

public class NodeOptions {
    private String logUri;
    private String raftMetaUri;
    private String snapshotUri;
    //set and get method
    public String getLogUri() {
        return logUri;
    }

    public void setLogUri(String logUri) {
        this.logUri = logUri;
    }

    public String getRaftMetaUri() {
        return raftMetaUri;
    }

    public void setRaftMetaUri(String raftMetaUri) {
        this.raftMetaUri = raftMetaUri;
    }

    public String getSnapshotUri() {
        return snapshotUri;
    }

    public void setSnapshotUri(String snapshotUri) {
        this.snapshotUri = snapshotUri;
    }
}

ExtInterface

public class ExtInterface {
    private String alarmUrl;
    //set and get method
    public String getAlarmUrl() {
        return alarmUrl;
    }
    public void setAlarmUrl(String alarmUrl) {
        this.alarmUrl = alarmUrl;
    }
}

之前写的一遍yaml博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值