Orika

simpler, lighter and faster Java bean mapping
-Orika是一个简单轻量级而又高效的Java Bean映射框架.

安装

  1. maven依赖
     <dependency>
        <groupId>ma.glasnost.orika</groupId>
        <artifactId>orika-core</artifactId>
        <version>1.4.2</version><!-- or latest version -->
     </dependency>
    

    内部引用的有以下内容:

    • javassist (v3.12.0+)
    • slf4j (v1.5.6+)
    • paranamer (v2.0+)
  2. 构造一个映射工厂MapperFactory
         MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
    
  3. 获取映射器
         MapperFacade mapper = mapperFactory.getMapperFacade();
    
  4. 进行映射
         Object obj = new Object();
         Object obj2 = mapper.map(obj, Object.class);
    

    默认会把obj中与obj2中相同属性名进行拷贝.若名称不同,则可以通过配置进行实现转换.若类型不同,可以自定义转换方法进行自实现.

原理

预先生成运行期需要运行的目标代码类,计思路就是预先通过javaassistJava Bean之间的映射关系一次性生成目标拷贝方法代码 这样就可以避免在Bean 映射环节一次次的读取映射规则

区别

区别主要就在于实现上更大程度接近了原生操作get/set方法.与通过序列化/反序列化以及反射的实现都不同.

参考

  1. Orika User Guide
  2. Orika的使用姿势
  3. Java Bean 拷贝工具Orika 介绍