标签:etc conf trace try serial == pojo method bean
对象比较器
public class LogUtils<T> { /** * 对象比较器 * 比较结果eg:1、字段名称loginName,旧值:liu,新值:gu;2、字段名称address,旧值:hunan,新值:neimenggu * @param oldBean * @param newBean * @return */ public String compareObject(Object oldBean, Object newBean) { String str = ""; //if (oldBean instanceof SysConfServer && newBean instanceof SysConfServer) { T pojo1 = (T) oldBean; T pojo2 = (T) newBean; try { Class clazz = pojo1.getClass(); Field[] fields = pojo1.getClass().getDeclaredFields(); int i = 1; for (Field field : fields) { if ("serialVersionUID".equals(field.getName())) { continue; } PropertyDescriptor pd = new PropertyDescriptor(field.getName(), clazz); Method getMethod = pd.getReadMethod(); Object o1 = getMethod.invoke(pojo1); Object o2 = getMethod.invoke(pojo2); if (o1 == null || o2 == null) { continue; } if (!o1.toString().equals(o2.toString())) { if (i != 1) { str += ";"; } str += i + "、字段名称" + field.getName() + ",旧值:" + o1 + ",新值:" + o2; i++; } } } catch (Exception e) { e.printStackTrace(); } // } return str; } }
我爱java系列---【java对象比较器,用于记录修改操作时修改的具体详情】
标签:etc conf trace try serial == pojo method bean
原文地址:https://www.cnblogs.com/hujunwei/p/12692213.html