只要拷贝非空的值到目标对象。BeanUtils.copyProperties不支持。
1.hutool开源库为我们提供了更为强大的Bean工具-BeanUtil
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.1.14</version> </dependency>
2.那要想拷贝非空的值到目标对象,只需要使用如下语句
BeanUtil.copyProperties(newBean,oldBean,CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
3.CopyOptions配置项:
ignoreNullValue 是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null
ignoreProperties 忽略的属性列表,设置一个属性列表,不拷贝这些属性值
ignoreError 是否忽略字段注入错误
可以通过CopyOptions.create()方法创建一个默认的配置项,通过setXXX方法设置每个配置项。