以下是自己遇到问题后,进行了一番查询检索后,得到的结果:
场景 耗时(调用100万次) 原理
get/set 20ms 直接调用
BeanCopiers 20ms 基于 cglib,修改字节码
BeanUtils 12000ms 反射
PropertyUtils 4000ms 反射
耗时仅供参考。
对于这个问题,作为一个资深代码搬运工,决定要用工具解决这一问题:
---------------------
在项目中,时常有DTO、VO、BO等转换问题。很多时候,我们会写很多get和set方法,显得代码不够美观。
高级点的方法,我们有使用Apache或者Spring的BeanUtils来做copy。
下表是对它们之前的性能总结
场景 耗时(调用100万次) 原理
get/set 20ms 直接调用
BeanCopiers 20ms 基于 cglib,修改字节码
BeanUtils 12000ms 反射
PropertyUtils 4000ms 反射
耗时仅供参考。
结论:
get/set 方法 和BeanCopiers方法性能最好。
原文链接:https://blog.csdn.net/zhangbomk/article/details/90489850
---------
一番搜索,发现idea 插件:SmartConverter,强烈推荐给大家,非常适合做对象转换。
可能很多人推荐使用mapstruct,我觉得要根据自己的情况来定,适合自己的才是最好的。



