Java对象到对象映射器

我在该项目上使用了Dozer一段时间。 但是,最近我遇到了一个非常有趣的错误,它促使我环顾四周,并尝试使用其他“对象到对象”映射器。 1331810342_Java

这是我找到的工具列表:

  • 推土机:推土机是Java Bean到Java Bean的映射器,可将数据从一个对象递归地复制到另一个对象。 通常,这些Java Bean将具有不同的复杂类型。
  • Orika: Orika是Java Bean映射框架,它(除其他功能外)将数据从一个对象递归复制到另一个对象。 在开发多层应用程序时,它非常有用。
  • Transmorph :Transmorph是一个免费的Java库,用于将一种类型的Java对象转换为另一种类型的对象(带有其他签名,可能已参数化)。
  • EZMorph :EZMorph是用于将一个对象转换为另一个对象的简单Java库。 它支持原语和对象的转换,多维数组的转换以及DynaBeans的转换
  • Commons-BeanUtils :ConvertUtils->实用程序方法,用于将String标量值转换为指定Class的对象,将String数组转换为指定Class的数组。
  • Commons-Lang :ArrayUtils->对数组,原始数组(例如int [])和原始包装器数组(例如Integer [])的操作。
  • Commons-Convert :Commons-Convert旨在提供一个专用于将一种类型的对象转换为另一种类型的对象的库。 第一阶段将关注对象到字符串和字符串到对象的转换。
  • Morph :Morph是一个Java框架,可简化应用程序的内部互操作性。 随着信息流经应用程序,它经历了多种转换。 Morph提供了实现这些转换的标准方法。
  • Lorentz :Lorentz是一个通用的对象到对象转换框架。 它提供了一个简单的API,可以将一种类型的Java对象转换为另一种类型的对象。
    (似乎已死)
  • Spring框架 :Spring对PropertyEditors有很好的支持,它也可以用于将对象转换为字符串。
  • ModelMapper :ModelMapper是一个智能的对象映射框架,可以自动将对象相互映射。 它使用基于约定的方法来映射对象,同时提供用于处理特定用例的简单重构安全API。
  • OTOM :使用OTOM,您可以将任何数据从任何对象复制到任何其他对象。 可能性是无止境。 欢迎来到“秋天”。
  • Smooks :Smooks JavaBean弹药筒允许您从消息数据(即,将数据绑定到)创建和填充Java对象。
  • Nomin :Nomin是Java平台的映射引擎,用于根据声明性映射规则转换对象树。 此Java映射框架旨在减少需要将不同结构相互映射时的工作量。
  • Modelbridge :Modelbridge是一个Eclipse插件,可让您在Java对象之间复制数据。
  • omapper :该项目旨在提供一个简单的库,以简化使用注释将对象或bean从一个设计层映射到另一设计层的过程。 可以在源类(接收器注释)和目标类(源注释)中指定映射。 支持映射组成的用户类对象和数组字段。
  • Moo :Moo将一个对象或对象图映射到另一个对象或一组对象,同时尝试尽可能不打扰和易于使用。 Moo使得创建快速副本和数据传输对象成为可能。
  • OpenL Tablets :将Excel和Word文件中的表视为应用程序逻辑的来源。 这种方法可能不常见,但它具有自己的独特优势,尤其是它可以缩小业务世界和IT世界之间的差距。
  • JMapper :JMapper Framework是一个Java bean到Java bean映射器,允许您使用注释和/或XML动态执行数据传递。

资源资源

  • 推土机vs奥里卡vs手动
  • Java对象到对象映射的任何工具?

参考: “ 知识就是一切”博客的JCG合作伙伴 Orest Ivasiv的Java Object to Object Mapper 。

翻译自: https://www.javacodegeeks.com/2013/10/java-object-to-object-mapper.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366680.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android媒体播放框架,Android 使用超简单的多媒体播放器JiaoZiVideoPlayer

在之前的项目中用到了视频播放的功能,在网上看了看使用了大家用的比较多的一个开源项目JiaoZiVideo可以迅速的实现视频播放的相关功能。JiaoZiVideo的简单使用集成了JiaoZiVideo后仅需这几行代码就可以实现播放视频JZVideoPlayerStandard jzVideoPlayerStandard (J…

送福利:ROKID 语音开发板免费送,开启你的物联网之旅

都让一让,我说个事情:掘金联合 Rokid 开发者社区给大家发福利啦! 掘金联合 Rokid 开发者社区为大家准备了一些福利,只要秀出你的 skill 和技术栈,就有可能获得 Rokid 全栈语音智能开发套件。 ? Rokid开箱试用活动 活…

如何使用JavaScript控制台改进工作流程

作为Web开发人员,很有必要了解如何调试代码。后台开发我们经常使用外部库来记录日志,并在某些情况下格式化显示日志,前端我们会使用断点和控制台,但是我们浏览器的控制台比我们想象的要强大得多。 当我们考虑控制台时&#xff0c…

select、poll、epoll之间的区别总结[整理]

原文:https://www.cnblogs.com/Anker/p/3265058.html 好文章收藏下,慢慢品味 select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者…

JPA(七):映射关联关系------映射双向多对一的关联关系

映射双向多对一的关联关系 修改Customer.java package com.dx.jpa.singlemanytoone;import java.util.Date; import java.util.HashSet; import java.util.Set;import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; impo…

如何优雅的绘制一棵省市区三级可选择的树?

开始 总结一下 开发过程中的思路想法 各位大佬们看看就好 首先你拥有的数据结构 所有省市区的信息列表 以及已经选中的信息 用的是element-ui的 el-tree const cityStorage {provinceList:[{id: 1, provinceId: "110000", name: "北京市"}],//所有省ci…

html click事件 参数,vue 实现click同时传入事件对象和自定义参数

这篇文章主要介绍了vue 实现click同时传入事件对象和自定义参数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧仅仅传入自定义参数HTMLdddddJS代码new Vue({el:#app,methods:{tm:function(e){console.log(e);}}})仅仅传入事件对象HTML…

Android学习(七)—— Android布局

Android布局 1、LinearLayout 线性布局,这种布局在平时的开发中用的最多,内部控件只能水平或竖直进行排列,在搭建较复杂的界面时会有点麻烦。 常用属性 android:orientation 控制控件排列方向,属性值为垂直(vertical…

不一样的ZTree,权限树.js插件

每一个有趣的创新,都源于苦逼的生活。在最近的工作中,遇到一个做权限管理筛选的需求。 简单总结需求: 1展示一个组织中的组织结构 2通过点击组织结构中的任意一个节点可以向上向下查询对应的组织结构 如果你不想苦逼的重复劳动,还…

JavaFX 2:如何加载图像

这是有关如何在JavaFX 2应用程序中加载图像的JavaFX教程。 使用ImageView可以轻松完成此操作。 ImageView是一个节点,用于绘制加载有Image类的图像。 因此,您将首先使用Image类加载图像,然后使用ImageView显示它。 我还将在这里演示如何从本地…

记HTML5 a 标签的一个小坑

今天写了段简单的代码&#xff0c;点击<a>标签时却抛出了这个错误&#xff1a;Uncaught TypeError: download is not a function。代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><…

C#线程 ---- 线程同步详解

线程同步 说明&#xff1a;接上一篇&#xff0c;注意分享线程同步的必要性和线程同步的方法。 测试代码下载&#xff1a;https://github.com/EkeSu/C-Thread-synchronization-C-.git 一、什么是线程同步&#xff1a; 在同一时间只允许一个线程访问资源的情况称为线程同步。 二、…

响应式方案调研及前端开发管理思考

网易首页响应式风格实现技术调研网易首页实现页面&#xff08;字体&#xff09;响应式风格的方式是在不同尺寸的视口中使用不同的容器类&#xff0c;如图 1所示。当视口大于等于1420px时&#xff0c;使用大尺寸容器类 &#xff08;index2017_1200_wrap&#xff0c;width: 1200p…

linux nexus启动_Linux一键部署Nexus 3私服仓库自动化部署脚本

此脚本是Linux一键部署Nexus 3私服仓库自动化脚本&#xff0c;有需要朋友可以参考&#xff0c;脚本内容如下&#xff1a;环境准备&#xff1a;操作系统&#xff1a;CentOS Linux release 7.8.2003软件版本&#xff1a;Docker&#xff1a;docker-ce-19.03.12[rootlocalhost ~]# …

flex.css快速入门,极速布局

什么是flex.css? css3 flex 布局相信很多人已经听说过甚至已经在开发中使用过它&#xff0c;但是我想我们都会有一个共同的经历&#xff0c;面对它的各种版本&#xff0c;各种坑&#xff0c;傻傻的分不清楚&#xff0c;flex.css就是对flex布局的一种封装&#xff0c;通过简洁…

优化Angularjs的$watch方法

Angularjs的$watch相信大家都知道&#xff0c;而且也经常使用&#xff0c;甚至&#xff0c;你还在为它的某些行为感到恼火。比如&#xff0c;一进入页面&#xff0c;它就会调用一次&#xff0c;我明明希望它在我初始化之后&#xff0c;值再次变动才调用。这种行为给我们带来许多…

JavaFX中的塔防(2)

在上一部分中&#xff0c;我们创建了一个简单的编辑器&#xff0c;让我们放置炮塔。 现在&#xff0c;我们将在敌人起源的地方添加一个生成点&#xff0c;并为其定义攻击目标。 首先&#xff0c;我将通过对象层向地图添加更多信息。 这是标准的TMX&#xff0c;因此我们可以在Ti…

12面魔方公式图解法_三阶魔方入门

一、魔方的构造这里只讲常见的普通三阶魔方。三阶魔方一共有26个色块&#xff0c;分三个层&#xff0c;从上到下分别为顶层、中间层、底层。26个色块按位置分为中心块、角色块、棱色块。中心块6个&#xff0c;角色块8个&#xff0c;棱色块12个。中心块为每一个面最中央的色块。…

Linux ls命令详解

ls常见命令参数 ls: -F 给不同的文件添加不同表示,添加帽子 d/ l* s -a: 显示隐藏文件 以.开头的文件 -p: 只给目录添加/ -t: 按照修改时间排序 time --time-stylelong-iso: ls -l --time-stylelong-iso 显示友好长格式时间 -r: 倒着排序 reverse -S: 按照文件…

caffe 人脸关键点检测_人脸检测关键点新增至81个,比Dlib更精准、更贴边

人脸关键点检测是人脸识别和分析领域中的关键一步&#xff0c;它是诸如自动人脸识别、表情分析、三维人脸重建及三维动画等其它人脸相关问题的前提和突破口。虽然人脸的结构是确定的&#xff0c;由眉毛、眼睛、鼻子和嘴等部位组成&#xff0c;近似是一个刚体&#xff0c;但由于…