实体工具类

类名:BeanUtil

newInstance

/**
 * 实例化对象
 *
 * @param clazz 类
 * @param <T>   泛型标记
 * @return 对象
 */
BeanUtil.newInstance(Class<?> clazz);

newInstance

/**
 * 实例化对象
 *
 * @param clazzStr 类名
 * @param <T>      泛型标记
 * @return 对象
 */
BeanUtil.newInstance(String clazzStr);

getProperty

/**
 * 获取Bean的属性, 支持 propertyName 多级 :test.user.name
 *
 * @param bean         bean
 * @param propertyName 属性名
 * @return 属性值
 */
BeanUtil.getProperty(Object bean, String propertyName);

setProperty

/**
 * 设置Bean属性, 支持 propertyName 多级 :test.user.name
 *
 * @param bean         bean
 * @param propertyName 属性名
 * @param value        属性值
 */
BeanUtil.setProperty(Object bean, String propertyName, Object value);

clone

/**
 * 深复制
 *
 * <p>
 * 支持 map bean
 * </p>
 *
 * @param source 源对象
 * @param <T>    泛型标记
 * @return T
 */
BeanUtil.clone(T source);

copy

/**
 * copy 对象属性,默认不使用Convert
 *
 * <p>
 * 支持 map bean copy
 * </p>
 *
 * @param source 源对象
 * @param clazz  类名
 * @param <T>    泛型标记
 * @return T
 */
BeanUtil.copy(Object source, Class<T> clazz);

copy

/**
 * copy 对象属性,默认不使用Convert
 *
 * <p>
 * 支持 map bean copy
 * </p>
 *
 * @param source      源对象
 * @param sourceClazz 源类型
 * @param targetClazz 转换成的类型
 * @param <T>         泛型标记
 * @return T
 */
BeanUtil.copy(Object source, Class sourceClazz, Class<T> targetClazz);

copy

/**
 * copy 列表对象,默认不使用Convert
 *
 * <p>
 * 支持 map bean copy
 * </p>
 *
 * @param sourceList  源列表
 * @param targetClazz 转换成的类型
 * @param <T>         泛型标记
 * @return T
 */
BeanUtil.copy(Collection<?> sourceList, Class<T> targetClazz);

copy

/**
 * 拷贝对象
 *
 * <p>
 * 支持 map bean copy
 * </p>
 *
 * @param source     源对象
 * @param targetBean 需要赋值的对象
 */
BeanUtil.copy(Object source, Object targetBean);

copyNonNull

/**
 * 拷贝对象,source 属性做 null 判断,Map 不支持,map 会做 instanceof 判断,不会
 *
 * <p>
 * 支持 bean copy
 * </p>
 *
 * @param source     源对象
 * @param targetBean 需要赋值的对象
 */
BeanUtil.copyNonNull(Object source, Object targetBean);

copyWithConvert

/**
 * 拷贝对象并对不同类型属性进行转换
 *
 * <p>
 * 支持 map bean copy
 * </p>
 *
 * @param source 源对象
 * @param targetClazz 转换成的类
 * @param <T>    泛型标记
 * @return T
 */
BeanUtil.copyWithConvert(Object source, Class<T> targetClazz);

copyWithConvert

/**
 * 拷贝对象并对不同类型属性进行转换
 *
 * <p>
 * 支持 map bean copy
 * </p>
 *
 * @param source 源对象
 * @param sourceClazz 源类
 * @param targetClazz 转换成的类
 * @param <T>    泛型标记
 * @return T
 */
BeanUtil.copyWithConvert(Object source, Class<?> sourceClazz, Class<T> targetClazz);

copyWithConvert

/**
 * 拷贝列表并对不同类型属性进行转换
 *
 * <p>
 * 支持 map bean copy
 * </p>
 *
 * @param sourceList 源对象列表
 * @param targetClazz 转换成的类
 * @param <T>    泛型标记
 * @return List
 */
BeanUtil.copyWithConvert(Collection<?> sourceList, Class<T> targetClazz);

copyProperties

/**
 * Copy the property values of the given source bean into the target class.
 * <p>Note: The source and target classes do not have to match or even be derived
 * from each other, as long as the properties match. Any bean properties that the
 * source bean exposes but the target bean does not will silently be ignored.
 * <p>This is just a convenience method. For more complex transfer needs,
 *
 * @param source the source bean
 * @param targetClazz the target bean class
 * @param <T>    泛型标记
 * @return T
 * @throws BeansException if the copying failed
 */
BeanUtil.copyProperties(Object source, Class<T> targetClazz);

copyProperties

/**
 * Copy the property values of the given source bean into the target class.
 * <p>Note: The source and target classes do not have to match or even be derived
 * from each other, as long as the properties match. Any bean properties that the
 * source bean exposes but the target bean does not will silently be ignored.
 * <p>This is just a convenience method. For more complex transfer needs,
 *
 * @param sourceList the source list bean
 * @param targetClazz the target bean class
 * @param <T>    泛型标记
 * @return List
 * @throws BeansException if the copying failed
 */
BeanUtil.copyProperties(Collection<?> sourceList, Class<T> targetClazz);

toMap

/**
 * 将对象装成map形式
 *
 * @param bean 源对象
 * @return {Map}
 */
BeanUtil.toMap(Object bean);

toBean

/**
 * 将map 转为 bean
 *
 * @param beanMap   map
 * @param valueType 对象类型
 * @param <T>       泛型标记
 * @return {T}
 */
BeanUtil.toBean(Map<String,Object> beanMap, Class<T> valueType);

generator

/**
 * 给一个Bean添加字段
 *
 * @param superBean 父级Bean
 * @param props     新增属性
 * @return {Object}
 */
BeanUtil.generator(Object superBean, BeanProperty props);

generator

/**
 * 给一个class添加字段
 *
 * @param superclass 父级
 * @param props      新增属性
 * @return {Object}
 */
BeanUtil.generator(Class<?> superclass, BeanProperty props);