嵌套对象

对于嵌套的类型不一致的对象,使用者可以通过自定义转换器的方式完成转换工作。当两者存在映射关系时,可以通过@Nested注解自动完成转换工作。

class Foo {
    Bar bar;
    List<Bar> bars;
}
class FooDto {
    @Nested(thisClass=BarDto.class, thatClass=Bar.class)
    BarDto bar;
    @Nested(thisClass=BarDto.class, thatClass=Bar.class)
    List<BarDto> bars;
}
class Bar {
    String name;
}
class BarDto {
    String name;
}

FooDto fooDto = BeanUtils.copyProperties(foo, FooDto.class);

System.out.println(fooDto.getBar().getName().equals(foo.getBar().getName())); // true
System.out.println(fooDto.getBars().size() == foo.getBars().size()); // true

Last updated