[新特性] CopyOptions支持以Lambda方式设置忽略属性列表

This commit is contained in:
lqc
2022-04-04 22:13:17 +08:00
parent 5612ef275c
commit 40bfd39407
2 changed files with 49 additions and 0 deletions

View File

@@ -562,6 +562,22 @@ public class BeanUtilTest {
Assert.assertNull(newFood.getCode());
}
@Test
public void copyBeanPropertiesFunctionFilterTest() {
Person o = new Person();
o.setName("asd");
o.setAge(123);
o.setOpenid("asd");
CopyOptions copyOptions = CopyOptions.create().setIgnoreProperties(Person::getAge,Person::getOpenid);
Person n = new Person();
BeanUtil.copyProperties(o, n, copyOptions);
// 是否忽略拷贝属性
Assert.assertNotEquals(o.getAge(),n.getAge());
Assert.assertNotEquals(o.getOpenid(),n.getOpenid());
}
@Data
public static class Food {
@Alias("bookId")