T - 目标对象类型public class BeanCopier<T> extends Object implements Copier<T>, Serializable
Bean拷贝
| 限定符和类型 | 字段和说明 |
|---|---|
private CopyOptions |
copyOptions
拷贝选项
|
private T |
dest
目标对象
|
private Type |
destType
目标的类型(用于泛型类注入)
|
private static long |
serialVersionUID |
private Object |
source
源对象
|
| 构造器和说明 |
|---|
BeanCopier(Object source,
T dest,
Type destType,
CopyOptions copyOptions)
构造
|
| 限定符和类型 | 方法和说明 |
|---|---|
private void |
beanToBean(Object providerBean,
Object destBean)
Bean和Bean之间属性拷贝
|
private void |
beanToMap(Object bean,
Map targetMap)
对象转Map
|
T |
copy()
执行拷贝
|
static <T> BeanCopier<T> |
create(Object source,
T dest,
CopyOptions copyOptions)
创建BeanCopier
|
static <T> BeanCopier<T> |
create(Object source,
T dest,
Type destType,
CopyOptions copyOptions)
创建BeanCopier
|
private void |
mapToBean(Map<?,?> map,
Object bean)
Map转Bean属性拷贝
|
private void |
mapToMap(Map source,
Map dest)
Map转Map
|
private void |
valueProviderToBean(ValueProvider<String> valueProvider,
Object bean)
值提供器转Bean
此方法通过遍历目标Bean的字段,从ValueProvider查找对应值 |
private static final long serialVersionUID
private final Object source
private final T dest
private final Type destType
private final CopyOptions copyOptions
public BeanCopier(Object source, T dest, Type destType, CopyOptions copyOptions)
source - 来源对象,可以是Bean或者Mapdest - 目标Bean对象destType - 目标的泛型类型,用于标注有泛型参数的Bean对象copyOptions - 拷贝属性选项public static <T> BeanCopier<T> create(Object source, T dest, CopyOptions copyOptions)
T - 目标Bean类型source - 来源对象,可以是Bean或者Mapdest - 目标Bean对象copyOptions - 拷贝属性选项public static <T> BeanCopier<T> create(Object source, T dest, Type destType, CopyOptions copyOptions)
T - 目标Bean类型source - 来源对象,可以是Bean或者Mapdest - 目标Bean对象destType - 目标的泛型类型,用于标注有泛型参数的Bean对象copyOptions - 拷贝属性选项private void beanToBean(Object providerBean, Object destBean)
providerBean - 来源BeandestBean - 目标Beanprivate void beanToMap(Object bean, Map targetMap)
bean - bean对象targetMap - 目标的Mapprivate void valueProviderToBean(ValueProvider<String> valueProvider, Object bean)
valueProvider - 值提供器bean - BeanCopyright © 2020. All rights reserved.