public class BeanKit extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
BeanKit.CopyOptions
属性拷贝选项
包括: 1、限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性, 例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 2、是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null 3、忽略的属性列表,设置一个属性列表,不拷贝这些属性值 |
| 限定符和类型 | 方法和说明 |
|---|---|
static <T,D> Map<String,D> |
beanToMap(T bean,
Map<String,D> map,
boolean isToUnderlineCase,
ConsumerResult<Object,D> consumerResult)
对象转Map
|
static <T> Map<String,Object> |
beanToMap(T bean,
Map<String,Object> map)
对象转Map
|
static <T> Map<String,Object> |
beanToMap(T bean,
Map<String,Object> map,
boolean isToUnderlineCase)
对象转Map
|
static <T> Map<String,String> |
beanValueAsJsonToMap(Map<String,String> map,
T bean)
对象转Map
如果对象属性值不是基本数据类型则转为json字符串
|
static void |
copyProperties(Object source,
Object target)
复制Bean对象属性
|
static void |
copyProperties(Object source,
Object target,
BeanKit.CopyOptions copyOptions)
复制Bean对象属性
限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 |
static void |
copyProperties(Object source,
Object target,
String... ignoreProperties)
复制Bean对象属性
限制类用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类 |
static <T> T |
fillBean(T bean,
ValueProvider valueProvider)
填充Bean
|
static <T> T |
fillBeanField(T bean,
FieldValueProvider valueProvider)
填充Bean属性
|
static <T> T |
fillBeanWithMap(Map<?,?> map,
T bean)
使用Map填充Bean对象
|
static <T> T |
fillBeanWithMap(Map<?,?> map,
T bean,
boolean isToCamelCase)
使用Map填充Bean对象,可配置将下划线转换为驼峰
|
static <T> T |
fillBeanWithMapIgnoreCase(Map<?,?> map,
T bean)
使用Map填充Bean对象,忽略大小写
|
static <T> T |
fillBeanWithRequestParam(javax.servlet.ServletRequest request,
T bean)
ServletRequest 参数转Bean
|
static List<Field> |
getBeanField(Class<?> clazz)
获取bean的所有字段
|
static Map<String,String> |
getBeanPropertyName(Class<?> clazz)
获取对象的属性名称,并且对属性名称进行驼峰与下划线模式复制
|
static Map<String,PropertyDescriptor> |
getFieldNamePropertyDescriptorMap(Class<?> clazz)
获得字段名和字段描述Map
|
static PropertyDescriptor |
getPropertyDescriptor(Class<?> clazz,
String fieldName)
获得Bean类属性描述
|
static PropertyDescriptor[] |
getPropertyDescriptors(Class<?> clazz)
获得Bean字段描述数组
|
static Field |
getPropertyField(Class<?> clazz,
String fieldName)
获取bean的属性 Field
|
static boolean |
isBean(Class<?> clazz)
判断是否为Bean对象
|
static boolean |
isNumberPrimitive(Class<?> clazz)
是否为基础数值数据类型
|
static boolean |
isPrimitive(Class<?> clazz)
是否为基础数据类型 包括String类型
|
static <T> List<Map<String,Object>> |
listToMapList(List<T> bean,
Map<String,Object> map)
对象转Map
|
static <T> T |
mapToBean(Map<?,?> map,
Class<T> beanClass)
Map转换为Bean对象
|
static <T> T |
mapToBeanIgnoreCase(Map<?,?> map,
Class<T> beanClass)
Map转换为Bean对象
忽略大小写 |
static <T> T |
requestParamToBean(javax.servlet.ServletRequest request,
Class<T> beanClass)
ServletRequest 参数转Bean
|
static <T> T |
toBean(Class<T> beanClass,
ValueProvider valueProvider)
ServletRequest 参数转Bean
|
public static Map<String,String> getBeanPropertyName(Class<?> clazz)
clazz - clazzpublic static List<Field> getBeanField(Class<?> clazz)
clazz - 对象类型public static Field getPropertyField(Class<?> clazz, String fieldName)
clazz - 对象类型public static boolean isBean(Class<?> clazz)
clazz - 待测试类public static boolean isPrimitive(Class<?> clazz)
public static boolean isNumberPrimitive(Class<?> clazz)
public static PropertyDescriptor[] getPropertyDescriptors(Class<?> clazz)
clazz - Bean类public static Map<String,PropertyDescriptor> getFieldNamePropertyDescriptorMap(Class<?> clazz)
clazz - Bean类public static PropertyDescriptor getPropertyDescriptor(Class<?> clazz, String fieldName)
clazz - Bean类fieldName - 字段名public static <T> T mapToBean(Map<?,?> map, Class<T> beanClass)
map - MapbeanClass - Bean Classpublic static <T> T mapToBeanIgnoreCase(Map<?,?> map, Class<T> beanClass)
map - MapbeanClass - Bean Classpublic static <T> T fillBeanWithMap(Map<?,?> map, T bean)
map - Mapbean - Beanpublic static <T> T fillBeanWithMap(Map<?,?> map, T bean, boolean isToCamelCase)
map - Map 指定mapbean - Bean 封装对象isToCamelCase - 是否将下划线模式转换为驼峰模式public static <T> T fillBeanWithMapIgnoreCase(Map<?,?> map, T bean)
map - Mapbean - Beanpublic static <T> T requestParamToBean(javax.servlet.ServletRequest request,
Class<T> beanClass)
request - 请求对象beanClass - 目标bean类型public static <T> T fillBeanWithRequestParam(javax.servlet.ServletRequest request,
T bean)
request - ServletRequestbean - 目标beanpublic static <T> T toBean(Class<T> beanClass, ValueProvider valueProvider)
T - beanClass - Bean ClassvalueProvider - 值提供者public static <T> T fillBean(T bean,
ValueProvider valueProvider)
T - bean - BeanvalueProvider - 值提供者public static <T> T fillBeanField(T bean,
FieldValueProvider valueProvider)
bean - BeanvalueProvider - 值提供者public static <T> Map<String,Object> beanToMap(T bean, Map<String,Object> map)
bean - bean对象public static <T> Map<String,String> beanValueAsJsonToMap(Map<String,String> map, T bean)
如果对象属性值不是基本数据类型则转为json字符串
bean - bean对象public static <T> List<Map<String,Object>> listToMapList(List<T> bean, Map<String,Object> map)
bean - bean对象public static <T> Map<String,Object> beanToMap(T bean, Map<String,Object> map, boolean isToUnderlineCase)
bean - bean对象isToUnderlineCase - 是否转换为下划线模式 true为下划线模式反之不是public static <T,D> Map<String,D> beanToMap(T bean, Map<String,D> map, boolean isToUnderlineCase, ConsumerResult<Object,D> consumerResult)
T - 泛型bean对象D - 泛型返回值value对象bean - bean对象map - 返回值map对象isToUnderlineCase - 是否转换为下划线模式 true为下划线模式反之不是consumerResult - 封装map value值的表达式类型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, BeanKit.CopyOptions copyOptions)
source - 源Bean对象target - 目标Bean对象copyOptions - 拷贝选项,见 BeanKit.CopyOptionsCopyright © 2019. All rights reserved.