gpt4 book ai didi

java - 使用 Guava 从属性文件创建对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:56:46 25 4
gpt4 key购买 nike

在我们的应用程序中,我们经常使用属性文件。几个月以来,我开始学习 Guava,实际上我非常喜欢它。

创建 Map<String, Datasource> 的最佳方法是什么? ?

属性文件格式不严格。如果可以用另一种格式更好地表达,可以更改吗?

示例属性文件:

datasource1.url=jdbc:mysql://192.168.11.46/db1
datasource1.password=password
datasource1.user=root
datasource2.url=jdbc:mysql://192.168.11.45/db2
datasource2.password=password
datasource2.user=root

最佳答案

最简单的方法可能是为此使用 JSON 而不是属性文件:

{  "datasources": [    {      "name": "datasource1",      "url": "jdbc:mysql://192.168.11.46/db1",      "user": "root",      "password": "password"    },    {      "name": "datasource2",      "url": "jdbc:mysql://192.168.11.46/db2",      "user": "root",      "password": "password"    }    ]}

Then you can just use a library such as Gson to convert that into objects:

public class DataSources {
private List<DataSourceInfo> dataSources;

public Map<String, DataSource> getDataSources() {
// create the map
}
}

public class DataSourceInfo {
private String name;
private String url;
private String user;
private String password;

// constructor, getters
}

然后获取 map :

Gson gson = new Gson();
Map<String, DataSource> dataSources = gson.fromJson(/* file or stream here */,
DataSources.class).getDataSources();

关于java - 使用 Guava 从属性文件创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8210017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com