我正在尝试使用java将DO转换为DTO,并在开始编写自己的工具之前寻找自动化工具。我只是想知道是否有同样的免费工具可用。
当前回答
使用Apache commons beanutils:
静态无效copyProperties(对象dest,对象origin) -将所有属性值从源bean复制到目标bean 属性名为的情况 相同。
http://commons.apache.org/proper/commons-beanutils/
其他回答
我的ModelMapper是另一个值得一试的库。ModelMapper的设计不同于其他库,因为它:
通过智能匹配源和目标属性自动映射对象模型 提供一个重构安全映射API,使用实际代码来映射字段和方法,而不是使用字符串 利用基于约定的配置来简单处理自定义场景
查看ModelMapper网站以获取更多信息:
http://modelmapper.org
我建议您试试JMapper框架。
它是一个Java bean到Java bean的映射器,允许您使用注释和/或XML动态地执行数据传递。
使用JMapper你可以:
创建并充实目标对象 对映射应用特定的逻辑 自动管理XML文件 实现1到N和N到1的关系 实现显式转换 应用继承的配置
我很高兴添加Moo作为一个选项,尽管很明显我对它有偏见: http://geoffreywiseman.github.com/Moo/
它在简单的情况下很容易使用,在更复杂的情况下也很有能力,尽管我仍然可以想象在一些方面对它进行进一步的改进,以解决更复杂的问题。
还有一个Java映射引擎/框架Nomin: http://nomin.sourceforge.net。
附近有一些图书馆:
Commons-BeanUtils: ConvertUtils -> Utility methods for converting String scalar values to objects of the specified Class, String arrays to arrays of the specified Class. Commons-Lang: ArrayUtils -> Operations on arrays, primitive arrays (like int[]) and primitive wrapper arrays (like Integer[]). Spring framework: Spring has an excellent support for PropertyEditors, that can also be used to transform Objects to/from Strings. Dozer: Dozer is a powerful, yet simple Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types. ModelMapper: ModelMapper is an intelligent object mapping framework that automatically maps objects to each other. It uses a convention based approach to map objects while providing a simple refactoring safe API for handling specific use cases. MapStruct: MapStruct is a compile-time code generator for bean mappings, resulting in fast (no usage of reflection or similar), dependency-less and type-safe mapping code at runtime. Orika: Orika uses byte code generation to create fast mappers with minimal overhead. Selma: Compile-time code-generator for mappings JMapper: Bean mapper generation using Annotation, XML or API (seems dead, last updated 2 years ago) Smooks: The Smooks JavaBean Cartridge allows you to create and populate Java objects from your message data (i.e. bind data to) (suggested by superfilin in comments). (No longer under active development) Commons-Convert: Commons-Convert aims to provide a single library dedicated to the task of converting an object of one type to another. The first stage will focus on Object to String and String to Object conversions. (seems dead, last update 2010) Transmorph: Transmorph is a free java library used to convert a Java object of one type into an object of another type (with another signature, possibly parameterized). (seems dead, last update 2013) EZMorph: EZMorph is simple java library for transforming an Object to another Object. It supports transformations for primitives and Objects, for multidimensional arrays and transformations with DynaBeans (seems dead, last updated 2008) Morph: Morph is a Java framework that eases the internal interoperability of an application. As information flows through an application, it undergoes multiple transformations. Morph provides a standard way to implement these transformations. (seems dead, last update 2008) Lorentz: Lorentz is a generic object-to-object conversion framework. It provides a simple API to convert a Java objects of one type into an object of another type. (seems dead) OTOM: With OTOM, you can copy any data from any object to any other object. The possibilities are endless. Welcome to "Autumn". (seems dead)
推荐文章
- 指定的子节点已经有一个父节点。你必须先在子对象的父对象上调用removeView() (Android)
- 对于一个布尔字段,它的getter/setter的命名约定是什么?
- 如何获得当前屏幕方向?
- 如何在Android中渲染PDF文件
- 实现嵌套字典的最佳方法是什么?
- 如何计算一个元素在列表中出现的次数
- c++中类似于java的instanceof
- 我如何解决错误“minCompileSdk(31)指定在一个依赖的AAR元数据”在本机Java或Kotlin?
- 如何POST表单数据与Spring RestTemplate?
- Mockito中检测到未完成的存根
- 我应该如何复制字符串在Java?
- “while(true)”循环有那么糟糕吗?
- 这个方法签名中的省略号(…)是干什么用的?
- Java:如何测试调用System.exit()的方法?
- 带有返回类型的Java方法在没有返回语句的情况下编译