根据传入实体对象,以及传入字段,动态调用对象的set方法给属性赋值。
public static void setProperty(MessageLog messageLog,String field,Object value) throws IllegalAccessException{
PropertyDescriptor pd;
try {
pd = new PropertyDescriptor(field, messageLog.getClass());
Method setMethod = pd.getWriteMethod();
if (setMethod != null) {
setMethod.invoke(messageLog, value);
}
} catch (IntrospectionException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}