在Spring中使用ConfigurationProperties初始化地图列表

SRa*_*Raj 3 spring spring-boot

我正在寻找一种巧妙的方法来使用 Spring Boot 从 application.properties 初始化地图列表。

@ConfigurationProperties(prefix = "mail") 
public class ConfigProperties { 
private String hostName;
private int port;
private List<Map<String,String>> userList;  


// standard getters and setters 
Run Code Online (Sandbox Code Playgroud)

}

我想从 application.properties 初始化地图列表“ userList ”。我们如何在 application.properties 文件中为下面的 mail.userList 赋值?

#application.properties
mail.hostname=host@mail.com
mail.port=9000
mail.userList=?
Run Code Online (Sandbox Code Playgroud)

提前致谢。

小智 5

你需要这样定义它,

mail.userList[0].id=1
mail.userList[0].name=abc
mail.userList[1].id=2
mail.userList[1].name=pqr
mail.userList[2].id=3
mail.userList[2].name=xyz
Run Code Online (Sandbox Code Playgroud)

这将在用户列表中加载地图列表。列表中的每个条目都包含 id 和 name。

在此输入图像描述