2

beanutils(BeanUtils.populate)

你还在用 BeanUtils.copyProperties 拷贝?小心有坑

儒雅程序员阿鑫

你还在用 BeanUtils.copyProperties 拷贝?小心有坑

目前Java实体映射工具比较多,如手写转换器、Apache BeanUtils、Spring BeanUtils、Dozer、Orika、ModelMapper、JMapper、MapStruct 等。其中手写转换器带来的人工成本较高,尤其是当转换对象属性较多,或者有嵌套属性时,费时费力,且容易遗漏出错,而且随着对象的迭代,转换器中的代码也要变动,所以通常我们还是会采用自动化的转换器。

根据网上的性能压测数据来看,JMapper 和 MapStruct 的性能最好;根据易用性来讲 MapStruct 最好,所以我们就使用 MapStruct 来实现转换器。

MapStruct 是Java实体映射工具,是一个代码生成器,它基于约定优于配置方法,极大地简化了 Java bean 类型之间映射的实现。

生成的映射代码使用简单的方法调用,因此速度快、类型安全且易于理解。

《Java实体映射工具MapStruct详解》技术专栏将详细介绍Java 实体映射工具 MapStruct的使用。

Java实体映射工具MapStruct

MapStruct是一个Java注解处理器,用于为Java bean类生成类型安全的和性能良好的映射器。MapStruct属于在编译期,生成调用get/set方法进行赋值的代码,生成对应的java文件。在编译期间消耗少许的时间,换取运行时的高性能。

MapStruct Support插件在使用MapStruct生成bean映射代码的项目中提供了一些帮助。

MapStruct的性能基本上优于BeanUtils一个数量级。关于对象间复制应该是比较常见的了,一个对象Object 可以衍生出DO、DTO、VO等,建议使用MapStruct替换BeanUtils。

MapStruct是一个Java注解处理器,用于为Java bean类生成类型安全的和性能良好的映射器。MapStruct属于在编译期,生成调用get/set方法进行赋值的代码,生成对应的java文件。在编译期间消耗少许的时间,换取运行时的高性能。

MapStruct Support插件在使用MapStruct生成bean映射代码的项目中提供了一些帮助。

根据小编进行的性能测试数据,MapStruct的性能基本上优于BeanUtils一个数量级。关于对象间复制应该是比较常见的了,一个对象Object 可以衍生出DO、DTO、VO等,建议使用MapStruct替换BeanUtils。

关于MapStruct工具的详细介绍可以参考《Java实体映射工具MapStruct详解》技术专栏,专栏提供完整示例项目代码下载。

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2149980/
1
上一篇ubuntu12 04lts(安装ubuntu12.04)
下一篇 ati最新显卡驱动(ati显卡驱动有什么用)

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部