Bean映射

Spring BeanUtil

org.springframework.beans.BeanUtils#copyProperties
基于反射做的,性能不高,使用场景不频繁对性能没有要求的可以借用下

Cglib BeanCopier

net.sf.cglib.beans.BeanCopier#copy
基于ASM进行字节码操作,编译时生成代理类,运行时直接执行class文件,性能较好

缺点:

  • 不支持自定义对象的深拷贝
  • 两个对象的属性字段类型、命名、getter|setter方法要保持一致,否则会拷贝失败
  • BigDecimal的拷贝有精度问题

Spring BeanCopier

org.springframework.cglib.beans.BeanCopier#copy
基于cglib的实现的,其实就是引入了cglib源码做了一些封装,cglib源码痕迹非常清晰,性能参考cglib的BeanCopier

Orika

http://orika-mapper.github.io/orika-docs/index.html

posted @ 2021-02-23 12:37  大摩羯先生  阅读(17)  评论(0编辑  收藏  举报