自定义映射
当源字段和目标字段名称不同时,使用者需要通过设置@Mapping
注解的field
属性指定对应的源字段名称。支持使用"."获取嵌套对象中的属性,"this"获取完整的源对象。
class Foo {
String name = "foo";
Bar bar;
}
class Bar {
String name = "bar";
}
class FooDto {
@Mapping(field="name")
String fooName;
@Mapping(field="bar.name")
String barName;
@Mapping(field="this")
String bar;
}
FooDto fooDto = BeanUtils.copyProperties(foo, FooDto.class);
System.out.println(fooDto.getFooName()); // "foo"
System.out.println(fooDto.getBarName()); // "bar"
System.out.println(fooDto.getBar()); // "Foo{name='foo', bar=Bar{name='bar'}}"
Last updated