问答详情
源自:5-3 代码演示(上)

getInsertChangeItems为啥要单独写个方法getBeanSimpleFieldValueMap

如题,直接调用

Introspector.getBeanInfo // 获取bean的信息
// 获取属性值和属性称()
for (PropertyDescriptor propertyDescriptor: beanInfo.getPropertyDescriptors()){
    String field = propertyDescriptor.getName();
    try {
        String value =getValue( PropertyUtils.getProperty(object, field));
        if (value == null || value.equals("")){
    continue;
}
        ChangeItem changeItem = new ChangeItem();
        changeItem.setOldValue("");
        changeItem.setNewValue(value);
        items.add(changeItem);

    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    }

}

为啥要自己造轮子,感觉实现的功能都一样啊

提问者:zzylove 2019-08-27 11:29

个回答

  • 寻找普拉多
    2022-02-23 17:56:41

    可能是思路不同呗,手写的是用反射的方式,一个一个获取属性信息的。不知道 

    Introspector.getBeanInfo

     有没有什么限制使用的条件