跳至主要内容

博文

目前显示的是 十二月, 2019的博文

Orika使用示例

Orika使用示例 简述 在项目中使用过不少Java Bean映射(Java Bean属性拷贝)类库,比如Apache和Spring的 BeanUtils , cglib 的 BeanCopier 等。 Apache和Spring的 BeanUtils 没有对list拷贝的内置支持,对属性不同类型的转换也缺乏默认的支持,需要做不少封装。 cglib 的 BeanCopier 的API相对来说比较难使用,虽然速度极快,但需要做更多的封装,可读性不好。 综合下来,发现 Orika 能较好的满足各项常见的Java Bean映射需求。 使用实例 在实际使用中,通常可以把 Orika 封装成一个静态工具类,示例如下: public class BeanMapperUtils { private static final DefaultMapperFactory mapperFactory ; private static final MapperFacade mapper ; static { mapperFactory = new DefaultMapperFactory . Builder ( ) . build ( ) ; mapper = mapperFactory . getMapperFacade ( ) ; } public static < S , D > D map ( S s , Class < D > aClass ) { return mapper . map ( s , aClass ) ; } public static < S , D > List < D > mapAsList ( Iterable < S > iterable , Class < D > aClass ) { return mapper . mapAsList ( iterable , aClass ) ;