在 applicationyml 中配置 map,list

map

Map<String, String>

config.java

1
java复制代码private Map<String, String> mapStr;

application.yml

1
2
3
yaml复制代码map-str:
a: aaa
b: bbb

application.properties

1
2
properties复制代码map-str.a=aa
map-str.b=bb

测试

1
2
3
4
5
6
7
8
java复制代码@Autowired
private Config config;

@Test
public void testConfig() {
// {a=aaa, b=bbb}
System.out.println(config.getMapStr());
}

Map<String, Model>

config.java

1
2
3
4
5
6
7
java复制代码public Map<String, MapConfig> mapConfig;

@Data
public static class MapConfig {
private String key;
private String val;
}

application.yml

1
2
3
4
5
6
7
yaml复制代码map-config:
map-one:
key: one-key
val: one-val
map-two:
key: two-key
val: two-val

application.properties

1
2
3
4
properties复制代码map-config.map-one.key=one-key
map-config.map-one.val=one-val
map-config.map-two.key=two-key
map-config.map-two.val=two-val

测试

1
2
3
4
5
6
7
8
java复制代码@Autowired
private Config config;

@Test
public void testConfig() {
// {map-one=Config.MapConfig(key=one-key, val=one-val), map-two=Config.MapConfig(key=two-key, val=two-val)}
System.out.println(config.getMapStr());
}

List

List

config.java

1
java复制代码private List<String> listStr;

application.yml

1
2
3
yaml复制代码list-str:
- a
- b

application.properties

1
2
properties复制代码list-str[0]=a
list-str[1]=b

测试

1
2
3
4
5
6
7
8
java复制代码@Autowired
private Config config;

@Test
public void testConfigGroup() {
// [a, b]
System.out.println(config.getListStr());
}

List

config.java

1
2
3
4
5
6
7
java复制代码private List<User> listObj;

@Data
public static class User {
String age;
String name;
}

application.yml

1
2
3
4
5
yaml复制代码list-obj:
- age: 23
name: 张三
- age: 20
name: 李四

application.properties

1
2
3
4
properties复制代码list-obj[0].age=23
list-obj[0].name=张三
list-obj[1].age=20
list-obj[1].name=李四

测试

1
2
3
4
5
6
7
8
java复制代码@Autowired
private Config config;

@Test
public void testConfigGroup() {
// [Config.User(age=23, name=张三), Config.User(age=20, name=李四)]
System.out.println(config.getListObj());
}

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%