我们项目原先使用的hutool
版本是5.7.2,在代码中,我们的数据传输对象DTO和数据实体对象中大量使用了工具包中的BeanUtil.copyProperties()。
虽然BeanUtil.copyProperties
用的一时爽,但有时候带来的后果是很严重的,所以很不推荐这种方式。为什么这么说呢?
比如团队中的某些人偷偷改了数据传输对象DTO,比如修改了类型、删去了某个字段。用BeanUtil.copyProperties
的方式压根无法在编译阶段发现,更别提修改的影响范围了,这就只能把风险暴露到生产上去了。那有什么更好的方法呢?
-
原始的
get
、set
方式
比如现在删去某个字段,编译器就会报错,就会引起你的注意了,让问题提前暴露,无处遁形。
2 .使用idea插件
原始的get和set方法虽然能够及时发现问题,但是如果字段很多还不得写死啊,这里推荐一个IDEA的插件,可以帮你智能生成这样的代码。