本篇文章详细介绍了如何使用Java代码将Properties格式的配置文件转换成对应的对象Bean,帮助开发者简化复杂的属性设置过程。
利用Java的反射解析Properties文件转成对象:
```java
public static T parseObject(String propPath, Class cls) throws InstantiationException, IllegalAccessException, IOException {
Properties prop = getConfigProperties(propPath);
T obj = cls.newInstance();
Field[] fList = obj.getClass().getDeclaredFields();
for (Field field : fList) {
String value = prop.getProperty(field.getName());
String typeName = field.getType().getTypeName();
if (value != null) {
value = value.trim();
switch(typeName){
case java.lang.String:
field.set(obj, value);
break;
case int:
field.setInt(obj, Integer.parseInt(value));
break;
case float:
field.setFloat(obj, Float.parseFloat(value));
break;
case double:
field.setDouble(obj, Double.parseDouble(value));
break;
case long:
field.setLong(obj, Long.parseLong(value));
break;
case boolean:
field.setBoolean(obj, Boolean.parseBoolean(value));
break;
case byte:
field.setByte(obj, Byte.parseByte(value));
break;
case short:
field.setShort(obj, Short.parseShort(value));
break;
}
}
}
return obj;
}
```
这段代码通过Java反射机制读取Properties文件中的配置信息,并将其转换为指定类的对象。首先,获取到`propPath`路径下的属性配置并创建目标对象实例;接着遍历该对象的所有字段(包括私有),根据其类型将从properties文件中解析出来的值设置给相应的字段。