有什么办法可以在 application.properties 文件中写入 JSON 数组列表 (spring-boot)

Is there any way to write JSON array list in application.properties file (spring-boot)

有没有什么办法可以在application.properties文件(spring-boot)中写入Json数组列表,这样我就可以用最少的代码读取整个Json?

下面是我的 json 对象。

{ "userdetail": [
    {
      "user": "user1",
      "password": "password2",
      "email": "email1"
    },
    {
      "user": "user2",
      "password": "password2",
      "email": "email2"
    }]}

另外,如果我使用 jasypt 对密码进行编码,那么密码会是什么?

参考Spring Boot Docs here

你可以使用 YAML

my:
   servers:
       - dev.example.com
       - another.example.com

或正常配置属性数组:

my.servers[0]=dev.example.com
my.servers[1]=another.example.com

您可以通过这种方式将这些属性加载到应用程序中:

@ConfigurationProperties(prefix="my")
public class Config {

    private List<String> servers = new ArrayList<String>();

    public List<String> getServers() {
        return this.servers;
    }
}

对于你的情况,我会尝试类似的方法:

users.userdetail[0].user=..
users.userdetail[0].password=..
...

并通过

阅读
@ConfigurationProperties(prefix="users")
public class Userdetail {

    private class User {
         public String user;
         public String password;
         public String email;
    }  

    private List<User> userdetails = new ArrayList<User>();

    public List<User> getUserdetails() {
        return this.userdetails;
    }
}