有什么办法可以在 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 对密码进行编码,那么密码会是什么?
你可以使用 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;
}
}
有没有什么办法可以在application.properties文件(spring-boot)中写入Json数组列表,这样我就可以用最少的代码读取整个Json?
下面是我的 json 对象。
{ "userdetail": [
{
"user": "user1",
"password": "password2",
"email": "email1"
},
{
"user": "user2",
"password": "password2",
"email": "email2"
}]}
另外,如果我使用 jasypt 对密码进行编码,那么密码会是什么?
你可以使用 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;
}
}