博客当笔记用、挺好。

1、map转javabean

//map转javaBean
    public static <T>  T mapTobean(Map<String,Object> beanMap, Class<T> beanType) throws Exception {
        T obj = beanType.newInstance();

        BeanInfo beanInfo = Introspector.getBeanInfo(beanType, Object.class);
        PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
        for (PropertyDescriptor pd : pds) {
            String  propertyName = pd.getName();//属性名
            Object propertyValue = beanMap.get(propertyName);//属性值
            pd.getWriteMethod().invoke(obj,propertyValue);
        }
        return obj;
    }

2、javaBean转map

//javaBean转Map
    public static Map<String,Object> beanToMap(Object bean) throws Exception {
        Map<String,Object> map = new HashMap<String, Object>();
        BeanInfo beanInfo = Introspector.getBeanInfo(bean.getClass(),Object.class);//获取Bean中属性名和属性值
        PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();//获取属性描述对象数组
        for (PropertyDescriptor pd : pds) {
            String propertyName = pd.getName();//属性名
            Object propertyValue = pd.getReadMethod().invoke(bean);//调用该属性的get方法
            map.put(propertyName, propertyValue);
        }
        return map;
    }