Easy-mapper是一个轻量、可扩展的高性能bean mapping类库。基于Javassist字节码增强技术实现动态bean属性映射工作,可自定义属性映射规则,包括名称、Transformer函数等,支持Java8的lambda表达式,其基于SPI技术的可插拔映射策略,目前支持引用拷贝。
Easy-mapper特点
1. 扩展性强。基于SPI技术,对于各种类型之间的转换提供默认的策略,使用者可自行添加。
2. 性能高。使用Javassist字节码增强技术,在运行时动态生成mapping过程的源代码,并且使用缓存技术,一次生成后续直接使用。默认策略为基于引用拷贝,因此在Java分层的架构中可以避免对象拷贝的代价,当然这有违背于函数式编程的不可变特性,easy-mapper赞同不可变,这里只不过提供了一种选择而已,请开放兼并。
3. 映射灵活。源类型和目标类型属性名可以指定,支持Java8 lambda表达式的转换函数,支持排除属性,支持全局的自定义mapping。
4. 代码可读高。基于Fluent式API,链式风格。惰性求值的方式,可随意注册映射关系,最后再统一做映射。
评论