用法
依赖引入
Maven
<dependency>
<groupId>com.taocares.commons</groupId>
<artifactId>commons-beans</artifactId>
</dependency>
依赖版本由dependency-bom统一管理
基本用法
将源对象拷贝到已有的目标对象:
BeanUtils.copyProperties(sourceObject, targetObject);
拷贝源对象并生成新的目标对象:
TargetObject targetObject = BeanUtils.copyProperties(sourceObject, TargetObject.class);
拷贝源对象集合并生成目标对象集合:
List<TargetObject> targetObjects = BeanUtils.copyProperties(sourceObjects, TargetObject.class);
Set<TargetObject> targetObjects = BeanUtils.copyProperties(sourceObjects, TargetObject.class);
BeanUtils
提供了Page
对象的拷贝方法,但是建议使用原生的Page#map
方法进行数据的转换
映射配置
class Foo {
String name;
Date createTime;
Bar bar;
}
class FooDto {
String name;
@Mapping(datePattern="yyyy-MM-dd HH:mm")
String createTime;
@Mapping(field="bar.name", oneway=true)
String barName;
@Nested(thisClass=BarDto.class, thatClass=Bar.class)
BarDto bar;
}
说明:
对于名称、类型完全相同的字段,无需任何配置
支持以下简单类型的自动转换,无需指定转换器
Date
↔LocalDate
/LocalTime
/LocalDateTime
String
↔Integer
/Long
/Float
/Double
/Boolean
Number
→Integer
/Long
/Float
/Double
/Boolean
Object
→String
自动拆箱/自动装箱
使用"."获取嵌套对象的属性,设置
oneway=true
表示单向映射使用
@Nested
指定嵌套的对象类型,从而实现自动转换
Last updated