Beanutils的缺陷

    /**
     * 将对象的所有字段解析到Map存储
    *
     * @param bean
     *
     * @return
     */
    public static Map describeBean(Object bean) {
        if (bean == null)
            return new HashMap();
        Map description = new HashMap();
        Field[] declaredFields = bean.getClass().getDeclaredFields();
        for (Field declaredField : declaredFields) {
            declaredField.setAccessible(true);//使私有对象可访问
            try {
                description.put(declaredField.getName(), declaredField.get(bean));

            } catch (Exception e) {
            }
        }
        return description;
    }

 

    apache beanutils的功能强大,可以实现很多针对对象属性(符合bean规范的)的解析、数据的存取、数据类型的自动映射等,同时依赖collections/logging包,但是某些情况下可以需要特殊功能!上边的代码替换apache beanutils的 Map describe(Object) 方法,支持获取类的私有字段,同时避免引入外部包。

 

你可能感兴趣的:(apache,bean)