Orika
simpler, lighter and faster Java bean mapping
-Orika
是一个简单轻量级而又高效的Java Bean
映射框架.
安装
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+)
- 构造一个映射工厂
MapperFactory
MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
- 获取映射器
MapperFacade mapper = mapperFactory.getMapperFacade();
- 进行映射
Object obj = new Object(); Object obj2 = mapper.map(obj, Object.class);
默认会把
obj
中与obj2
中相同属性名进行拷贝.若名称不同,则可以通过配置进行实现转换.若类型不同,可以自定义转换方法进行自实现.
原理
预先生成运行期需要运行的目标代码类,计思路就是预先通过
javaassist
把Java Bean
之间的映射关系一次性生成目标拷贝方法代码 这样就可以避免在Bean
映射环节一次次的读取映射规则
区别
区别主要就在于实现上更大程度接近了原生操作get/set
方法.与通过序列化/反序列化以及反射的实现都不同.