SpringBoot读取自定义复杂结构

1. 期望的映射的数据结构

@Data
@Component
@ConfigurationProperties(prefix = "myconfig")
public class MyConfig {

    private String username;

    private String password;

    private EsNode node1;

    private List<String> nodes;

    private List<EsNode> nodeList;

    private Map<String, EsNode> map;

    private Map<String, List<EsNode>> map2;

    //该类也可以单独定义
    @Data
    public static class EsNode {
        private String ip;

        private Integer port;
    }
}

2. yml自定义结构

myconfig:
  username: xiaoming
  password: xiaoming123
  nodes:
    - 0.0.0.1
    - 0.0.0.2
  node1:
    ip: 127.0.0.1
    port: 8080
  nodeList:
    - ip: 1.0.0.1
      port: 8080
    - ip: 1.0.0.2
      port: 8080
  map:
    key1:
      ip: 2.0.0.2
      port: 8080
    key2:
      ip: 2.0.0.3
      port: 8080
  map2:
    key1:
      - ip: 3.0.0.2
        port: 8080
      - ip: 3.0.0.3
        port: 8080

3. 输出的数据结构

{
	"map": {
		"key1": {
			"ip": "2.0.0.2",
			"port": 8080
		},
		"key2": {
			"ip": "2.0.0.3",
			"port": 8080
		}
	},
	"map2": {
		"key1": [
			{
				"ip": "3.0.0.2",
				"port": 8080
			},
			{
				"ip": "3.0.0.3",
				"port": 8080
			}
		]
	},
	"node1": {
		"ip": "127.0.0.1",
		"port": 8080
	},
	"nodeList": [
		{
			"ip": "1.0.0.1",
			"port": 8080
		},
		{
			"ip": "1.0.0.2",
			"port": 8080
		}
	],
	"nodes": [
		"0.0.0.1",
		"0.0.0.2"
	],
	"password": "xiaoming123",
	"username": "xiaoming"
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值