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"
}