概念

BeanUtils

核心工具,提供实体拷贝的相关方法,支持属性映射、类型转换和批量拷贝等功能。

BeanUtils.ConcurrencyManager

提供开启和关闭多线程处理模式和获取当前处理模式的方法:

BeanPropertyCopyException

属性拷贝过程中发生的异常。

@Mapping

核心注解,配置字段的映射关系、转换器等内容。

@Nested

标记字段为嵌套的对象,需要指定嵌套对象以及对应映射对象的类型。

@DictMapping

字典类映射使用的注解,用于代替原有的AbstractDictionaryConverter的方案。

DictDataResolver

字典表数据加载适配器,一般来说依赖于某个服务,负责获取数据并转换为字典数据。

  1. @DictMapping配置mode=FetchMode.BATCH时,使用Map resolve(String key);方法,参数是@DictMapping中配置的key属性,返回字典映射所有数据的Map<Object, Object>

  2. @DictMapping配置mode=FetchMode.SINGLE时,使用Object resolveSingle(String key, Object source);方法,参数是@DictMapping中配置的key属性以及映射源属性的值,返回映射结果。

TypeConverter

类型转换器接口,自定义的转换器需要实现此接口。使用者需要自行处理空值和异常(统一捕获异常并转换为TypeConvertException)。

AbstractTypeConverter

类型转换器的抽象类,封装了空值判断和异常处理逻辑。默认对于空值会直接返回,使用者如果对空值有特殊的转换需求,可以覆盖convertNull()方法返回期望的值。

AbstractToStringConverter

对象/集合转换为单个字符串的转换器抽象类,作用于集合时,转换器会将每个元素的处理结果用getDelimiter()方法返回的分隔符分隔(默认分隔符为",")。

使用者需要实现itemToString(Object item)方法,实现对象/集合元素转换为字符串的逻辑。可以根据需要重写getDelimiter()方法。

AbstractListConverter

集合转换为List的转换器抽象类,针对一个给定的集合,遍历其中的元素进行转换,然后返回一个目标对象的List(使用ArrayList实现)。

使用者需要实现convertItem(Object item)方法,实现集合中单个元素的转换逻辑。

AbstractSetConverter

集合转换为Set的转换器抽象类,针对一个给定的集合,遍历其中的元素进行转换,然后返回一个目标对象的Set(使用HashSet实现)。

使用者需要实现convertItem(Object item)方法,实现集合中单个元素的转换逻辑。

AbstractDictionaryConverter

字典表数据的转换器抽象类,提供字典类数据的双向转换功能。

使用者需要实现getDictionary()方法,返回Map<Object, Object>类型的字典数据。

Last updated