使用 Orika 实现 Java Bean 映射工具类
orika 是 Java Bean 映射框架,可以实现从一个对象递归拷贝数据至另一个对象。这样我们可以将数据在实体,DTO,VO之间切换。关于 Bean 映射,其实 BeanUtil中 的 copyProperties() 方法也可以实现,但是如果名字相同类型不同是不能直接复制的,而 orika 却可以解决这个问题。
下面将具体介绍如何使用 orika 实现映射。
1.引入 orika 的 jar 包
现在用的大部分都是使用的 maven 文件,可以在 pom.xml 文件中引入下列配置即可。
<dependency>
<groupId>ma.glasnost.orika</groupId>
<artifactId>orika-core</artifactId>
<version>1.5.4</version>
</dependency>
2.创建映射工具类
我在之前使用使用的时候,使用的并不是单例模式,然而造成了内存溢出的情况,后来采用单例的模式,解决了这个问题。这里单例使用的是枚举方式实现的,也是效率比较高的一种吧。
- 具体工具类代码实现:
package com.jiafly.libra.common.utils;
import ma.glasnost.orika.MapperFacade;
import ma.glasnost.orika.MapperFactory;
import ma.glasnost.orika.impl.DefaultMapperFactory;
import ma.glasnost.orika.metadata.ClassMapBuilder;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util