public class BeanUtil extends Object
把一个拥有对属性进行set和get方法的类,我们就可以称之为JavaBean。
构造器和说明 |
---|
BeanUtil() |
限定符和类型 | 方法和说明 |
---|---|
static Map<String,Object> |
beanToMap(Object bean)
对象转Map,不进行驼峰转下划线,不忽略值为空的字段
|
static Map<String,Object> |
beanToMap(Object bean,
Map<String,Object> targetMap,
boolean isToUnderlineCase,
boolean ignoreNullValue)
对象转Map
|
static <T> Map<String,Object> |
beanToMap(T bean,
boolean isToUnderlineCase,
boolean ignoreNullValue)
对象转Map
|
static void |
copyProperties(Object source,
Object target)
复制Bean对象属性
|
static void |
copyProperties(Object source,
Object target,
boolean ignoreCase,
CopyOptions copyOptions)
复制Bean对象属性
限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将CopyOptions.editable设置为父类 |
static void |
copyProperties(Object source,
Object target,
CopyOptions copyOptions)
复制Bean对象属性
限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 |
static void |
copyProperties(Object source,
Object target,
String... ignoreProperties)
复制Bean对象属性
限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 |
static DynaBean |
createDynaBean(Object bean)
创建动态Bean
|
static <T> T |
fillBean(T bean,
ValueProvider<String> valueProvider,
CopyOptions copyOptions)
填充Bean的核心方法
|
static <T> T |
fillBeanWithMap(Map<?,?> map,
T bean,
boolean isIgnoreError)
使用Map填充Bean对象
|
static <T> T |
fillBeanWithMap(Map<?,?> map,
T bean,
boolean isToCamelCase,
boolean isIgnoreError)
使用Map填充Bean对象,可配置将下划线转换为驼峰
|
static <T> T |
fillBeanWithMap(Map<?,?> map,
T bean,
boolean isToCamelCase,
CopyOptions copyOptions)
使用Map填充Bean对象
|
static <T> T |
fillBeanWithMap(Map<?,?> map,
T bean,
CopyOptions copyOptions)
使用Map填充Bean对象
|
static <T> T |
fillBeanWithMapIgnoreCase(Map<?,?> map,
T bean,
boolean isIgnoreError)
使用Map填充Bean对象,忽略大小写
|
static PropertyEditor |
findEditor(Class<?> type)
查找类型转换器
PropertyEditor |
static BeanDesc |
getBeanDesc(Class<?> clazz)
获取
BeanDesc Bean描述信息 |
static Object |
getFieldValue(Object bean,
String fieldName)
获得字段值,通过反射直接获得字段值,并不调用getXXX方法
对象同样支持Map类型,fieldName即为key |
static Object |
getProperty(Object bean,
String expression)
解析Bean中的属性值
|
static PropertyDescriptor |
getPropertyDescriptor(Class<?> clazz,
String fieldName)
获得Bean类属性描述,大小写敏感
|
static PropertyDescriptor |
getPropertyDescriptor(Class<?> clazz,
String fieldName,
boolean ignoreCase)
获得Bean类属性描述
|
static Map<String,PropertyDescriptor> |
getPropertyDescriptorMap(Class<?> clazz,
boolean ignoreCase)
获得字段名和字段描述Map,获得的结果会缓存在
BeanInfoCache 中 |
static PropertyDescriptor[] |
getPropertyDescriptors(Class<?> clazz)
获得Bean字段描述数组
|
static boolean |
hasNull(Object bean,
boolean ignoreError) |
static boolean |
isBean(Class<?> clazz)
判断是否为Bean对象
判定方法是是否存在只有一个参数的setXXX方法 |
static <T> T |
mapToBean(Map<?,?> map,
Class<T> beanClass,
boolean isIgnoreError)
Map转换为Bean对象
|
static <T> T |
mapToBean(Map<?,?> map,
Class<T> beanClass,
CopyOptions copyOptions)
Map转换为Bean对象
|
static <T> T |
mapToBeanIgnoreCase(Map<?,?> map,
Class<T> beanClass,
boolean isIgnoreError)
Map转换为Bean对象
忽略大小写 |
static <T> T |
toBean(Class<T> beanClass,
ValueProvider<String> valueProvider,
CopyOptions copyOptions)
ServletRequest 参数转Bean
|
public static boolean isBean(Class<?> clazz)
clazz
- 待测试类public static DynaBean createDynaBean(Object bean)
bean
- 普通Bean或MapDynaBean
public static PropertyEditor findEditor(Class<?> type)
PropertyEditor
type
- 需要转换的目标类型PropertyEditor
public static boolean hasNull(Object bean, boolean ignoreError)
public static BeanDesc getBeanDesc(Class<?> clazz)
BeanDesc
Bean描述信息clazz
- Bean类BeanDesc
public static PropertyDescriptor[] getPropertyDescriptors(Class<?> clazz) throws IntrospectionException
clazz
- Bean类IntrospectionException
- 获取属性异常public static Map<String,PropertyDescriptor> getPropertyDescriptorMap(Class<?> clazz, boolean ignoreCase) throws IntrospectionException
BeanInfoCache
中clazz
- Bean类ignoreCase
- 是否忽略大小写IntrospectionException
- 获取属性异常public static PropertyDescriptor getPropertyDescriptor(Class<?> clazz, String fieldName) throws IntrospectionException
clazz
- Bean类fieldName
- 字段名IntrospectionException
- 获取属性异常public static PropertyDescriptor getPropertyDescriptor(Class<?> clazz, String fieldName, boolean ignoreCase) throws IntrospectionException
clazz
- Bean类fieldName
- 字段名ignoreCase
- 是否忽略大小写IntrospectionException
- 获取属性异常public static Object getFieldValue(Object bean, String fieldName)
bean
- Bean对象fieldName
- 字段名public static Object getProperty(Object bean, String expression)
bean
- Bean对象,支持Map、List、Collection、Arrayexpression
- 表达式,例如:person.friend[5].nameBeanResolver.resolveBean(Object, String)
public static <T> T mapToBean(Map<?,?> map, Class<T> beanClass, boolean isIgnoreError)
T
- Bean类型map
- Map
beanClass
- Bean ClassisIgnoreError
- 是否忽略注入错误public static <T> T mapToBeanIgnoreCase(Map<?,?> map, Class<T> beanClass, boolean isIgnoreError)
T
- Bean类型map
- MapbeanClass
- Bean ClassisIgnoreError
- 是否忽略注入错误public static <T> T mapToBean(Map<?,?> map, Class<T> beanClass, CopyOptions copyOptions)
T
- Bean类型map
- Map
beanClass
- Bean ClasscopyOptions
- 转Bean选项public static <T> T fillBeanWithMap(Map<?,?> map, T bean, boolean isIgnoreError)
T
- Bean类型map
- Mapbean
- BeanisIgnoreError
- 是否忽略注入错误public static <T> T fillBeanWithMap(Map<?,?> map, T bean, boolean isToCamelCase, boolean isIgnoreError)
T
- Bean类型map
- Mapbean
- BeanisToCamelCase
- 是否将下划线模式转换为驼峰模式isIgnoreError
- 是否忽略注入错误public static <T> T fillBeanWithMapIgnoreCase(Map<?,?> map, T bean, boolean isIgnoreError)
T
- Bean类型map
- Mapbean
- BeanisIgnoreError
- 是否忽略注入错误public static <T> T fillBeanWithMap(Map<?,?> map, T bean, CopyOptions copyOptions)
T
- Bean类型map
- Mapbean
- BeancopyOptions
- 属性复制选项 CopyOptions
public static <T> T fillBeanWithMap(Map<?,?> map, T bean, boolean isToCamelCase, CopyOptions copyOptions)
T
- Bean类型map
- Mapbean
- BeanisToCamelCase
- 是否将Map中的下划线风格key转换为驼峰风格copyOptions
- 属性复制选项 CopyOptions
public static <T> T toBean(Class<T> beanClass, ValueProvider<String> valueProvider, CopyOptions copyOptions)
T
- Bean类型beanClass
- Bean ClassvalueProvider
- 值提供者copyOptions
- 拷贝选项,见 CopyOptions
public static <T> T fillBean(T bean, ValueProvider<String> valueProvider, CopyOptions copyOptions)
T
- Bean类型bean
- BeanvalueProvider
- 值提供者copyOptions
- 拷贝选项,见 CopyOptions
public static Map<String,Object> beanToMap(Object bean)
bean
- bean对象public static <T> Map<String,Object> beanToMap(T bean, boolean isToUnderlineCase, boolean ignoreNullValue)
T
- bean
- bean对象isToUnderlineCase
- 是否转换为下划线模式ignoreNullValue
- 是否忽略值为空的字段public static Map<String,Object> beanToMap(Object bean, Map<String,Object> targetMap, boolean isToUnderlineCase, boolean ignoreNullValue)
bean
- bean对象targetMap
- 目标的MapisToUnderlineCase
- 是否转换为下划线模式ignoreNullValue
- 是否忽略值为空的字段public static void copyProperties(Object source, Object target)
source
- 源Bean对象target
- 目标Bean对象public static void copyProperties(Object source, Object target, String... ignoreProperties)
source
- 源Bean对象target
- 目标Bean对象ignoreProperties
- 不拷贝的的属性列表public static void copyProperties(Object source, Object target, CopyOptions copyOptions)
source
- 源Bean对象target
- 目标Bean对象copyOptions
- 拷贝选项,见 CopyOptions
public static void copyProperties(Object source, Object target, boolean ignoreCase, CopyOptions copyOptions)
source
- 源Bean对象target
- 目标Bean对象ignoreCase
- 是否忽略大小写copyOptions
- 拷贝选项,见 CopyOptions
Copyright © 2021. All rights reserved.