Package | Description |
---|---|
cn.hutool.core.bean |
Bean相关操作,包括Bean信息描述,Bean路径表达式、动态Bean、Bean工具等
|
cn.hutool.core.bean.copier |
Bean拷贝实现,包括拷贝选项等
|
cn.hutool.core.convert.impl |
各种类型转换的实现类,其都为Converter接口的实现,用于将未知的Object类型转换为指定类型
|
cn.hutool.core.util |
提供各种工具方法,按照归类入口为XXXUtil,如字符串工具StrUtil等
|
cn.hutool.extra.servlet |
Servlet封装,包括Servlet参数获取、文件上传、Response写出等,入口为ServletUtil
|
Modifier and Type | Method and Description |
---|---|
static Map<String,Object> |
BeanUtil.beanToMap(Object bean,
Map<String,Object> targetMap,
CopyOptions copyOptions)
对象转Map
通过自定义 CopyOptions 完成抓换选项,以便实现:
1. |
static void |
BeanUtil.copyProperties(Object source,
Object target,
CopyOptions copyOptions)
复制Bean对象属性
限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 |
static <T> List<T> |
BeanUtil.copyToList(Collection<?> collection,
Class<T> targetType,
CopyOptions copyOptions)
复制集合中的Bean属性
此方法遍历集合中每个Bean,复制其属性后加入一个新的 List 中。 |
static <T> T |
BeanUtil.fillBean(T bean,
ValueProvider<String> valueProvider,
CopyOptions copyOptions)
填充Bean的核心方法
|
static <T> T |
BeanUtil.fillBeanWithMap(Map<?,?> map,
T bean,
boolean isToCamelCase,
CopyOptions copyOptions)
Deprecated.
isToCamelCase参数无效,请使用
BeanUtil.fillBeanWithMap(Map, Object, CopyOptions) |
static <T> T |
BeanUtil.fillBeanWithMap(Map<?,?> map,
T bean,
CopyOptions copyOptions)
使用Map填充Bean对象
|
static <T> T |
BeanUtil.mapToBean(Map<?,?> map,
Class<T> beanClass,
boolean isToCamelCase,
CopyOptions copyOptions)
Deprecated.
isToCamelCase参数无效,请使用
BeanUtil.toBean(Object, Class, CopyOptions) |
static <T> T |
BeanUtil.mapToBean(Map<?,?> map,
Class<T> beanClass,
CopyOptions copyOptions)
Deprecated.
|
static <T> T |
BeanUtil.toBean(Class<T> beanClass,
ValueProvider<String> valueProvider,
CopyOptions copyOptions)
ServletRequest 参数转Bean
|
static <T> T |
BeanUtil.toBean(Object source,
Class<T> clazz,
CopyOptions options)
对象或Map转Bean
|
static <T> T |
BeanUtil.toBean(Object source,
Supplier<T> targetSupplier,
CopyOptions options)
对象或Map转Bean
|
Modifier and Type | Field and Description |
---|---|
protected CopyOptions |
AbsCopier.copyOptions
拷贝选项
|
Modifier and Type | Method and Description |
---|---|
static CopyOptions |
CopyOptions.create()
创建拷贝选项
|
static CopyOptions |
CopyOptions.create(Class<?> editable,
boolean ignoreNullValue,
String... ignoreProperties)
创建拷贝选项
|
CopyOptions |
CopyOptions.ignoreCase()
设置忽略字段的大小写
|
CopyOptions |
CopyOptions.ignoreError()
设置忽略字段的注入错误
|
CopyOptions |
CopyOptions.ignoreNullValue()
设置忽略空值,当源对象的值为null时,忽略而不注入此值
|
CopyOptions |
CopyOptions.setAutoTransCamelCase(boolean autoTransCamelCase)
设置是否自动转换为驼峰方式
一般用于map转bean和bean转bean出现非驼峰格式时,在尝试转换失败的情况下,是否二次检查转为驼峰匹配 此设置用于解决Bean和Map转换中的匹配问题而设置,并不是一个强制参数。 |
CopyOptions |
CopyOptions.setConverter(TypeConverter converter)
设置自定义类型转换器,默认使用全局万能转换器转换。
|
CopyOptions |
CopyOptions.setEditable(Class<?> editable)
设置限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性
|
CopyOptions |
CopyOptions.setFieldMapping(Map<String,String> fieldMapping)
设置拷贝属性的字段映射,用于不同的属性之前拷贝做对应表用
需要注意的是,当使用ValueProvider作为数据提供者时,这个映射是相反的,即fieldMapping中key为目标Bean的名称,而value是提供者中的key |
CopyOptions |
CopyOptions.setFieldNameEditor(Editor<String> fieldNameEditor)
设置字段属性编辑器,用于自定义属性转换规则,例如驼峰转下划线等
此转换器只针对源端的字段做转换,请确认转换后与目标端字段一致 当转换后的字段名为null时忽略这个字段 需要注意的是,当使用ValueProvider作为数据提供者时,这个映射是相反的,即fieldMapping中key为目标Bean的名称,而value是提供者中的key |
CopyOptions |
CopyOptions.setFieldValueEditor(BiFunction<String,Object,Object> fieldValueEditor)
设置字段属性值编辑器,用于自定义属性值转换规则,例如null转""等
|
CopyOptions |
CopyOptions.setFormatIfDate(String formatIfDate)
设置日期格式,用于日期转字符串,默认为
null |
CopyOptions |
CopyOptions.setIgnoreCase(boolean ignoreCase)
设置是否忽略字段的大小写
|
CopyOptions |
CopyOptions.setIgnoreError(boolean ignoreError)
设置是否忽略字段的注入错误
|
CopyOptions |
CopyOptions.setIgnoreNullValue(boolean ignoreNullVall)
设置是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null
|
<P,R> CopyOptions |
CopyOptions.setIgnoreProperties(Func1<P,R>... funcs)
设置忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值,Lambda方式
|
CopyOptions |
CopyOptions.setIgnoreProperties(String... ignoreProperties)
设置忽略的目标对象中属性列表,设置一个属性列表,不拷贝这些属性值
|
CopyOptions |
CopyOptions.setOverride(boolean override)
设置是否覆盖目标值,如果不覆盖,会先读取目标对象的值,为
null 则写,否则忽略。 |
CopyOptions |
CopyOptions.setPropertiesFilter(BiPredicate<Field,Object> propertiesFilter)
|
CopyOptions |
CopyOptions.setTransientSupport(boolean transientSupport)
设置是否支持transient关键字修饰和@Transient注解,如果支持,被修饰的字段或方法对应的字段将被忽略。
|
Modifier and Type | Method and Description |
---|---|
static <T> BeanCopier<T> |
BeanCopier.create(Object source,
T target,
CopyOptions copyOptions)
创建BeanCopier
|
static <T> BeanCopier<T> |
BeanCopier.create(Object source,
T target,
Type destType,
CopyOptions copyOptions)
创建BeanCopier
|
Constructor and Description |
---|
AbsCopier(S source,
T target,
CopyOptions copyOptions) |
BeanCopier(Object source,
T target,
Type targetType,
CopyOptions copyOptions)
构造
|
BeanToBeanCopier(S source,
T target,
Type targetType,
CopyOptions copyOptions)
构造
|
BeanToMapCopier(Object source,
Map target,
Type targetType,
CopyOptions copyOptions)
构造
|
MapToBeanCopier(Map<?,?> source,
T target,
Type targetType,
CopyOptions copyOptions)
构造
|
MapToMapCopier(Map source,
Map target,
Type targetType,
CopyOptions copyOptions)
构造
|
ValueProviderToBeanCopier(ValueProvider<String> source,
T target,
Type targetType,
CopyOptions copyOptions)
构造
|
Constructor and Description |
---|
BeanConverter(Type beanType,
CopyOptions copyOptions)
构造
|
Modifier and Type | Method and Description |
---|---|
static <T> T |
XmlUtil.xmlToBean(Node node,
Class<T> bean,
CopyOptions copyOptions)
XML转Java Bean
|
Modifier and Type | Method and Description |
---|---|
static <T> T |
ServletUtil.fillBean(javax.servlet.ServletRequest request,
T bean,
CopyOptions copyOptions)
ServletRequest 参数转Bean
|
static <T> T |
JakartaServletUtil.fillBean(jakarta.servlet.ServletRequest request,
T bean,
CopyOptions copyOptions)
ServletRequest 参数转Bean
|
Copyright © 2024. All rights reserved.