最近开发项目的时候需要用到对象的属性拷贝,以前也有用过一些复制框架,比如spring的 BeanUtils.copyProperties等方式,但总是不尽如人意,最近发现使用orika进行对象拷贝挺好用的分享出来给大家 。
先看一下接入步骤,以springboot集成orika为例 。
1.maven引入orika
<dependency> <groupId>ma.glasnost.orika</groupId> <artifactId>orika-core</artifactId></dependency>
2.编写orika配置类
@Configurationpublic class MappperFactoryConfig {@Beanpublic MapperFactory getFactory(){MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();return mapperFactory;}}
3.使用方式,首先注入MapperFactory,方法里就能直接使用了
Autowiredprivate MapperFactory mapperFactory;void test(){A a = new A();//用法1,生成新的类对象B b = mapperFactory.getMapperFacade().map(a, B.class);//用法2,对象间复制Object s1 = new Object();Object d1 = new Object();mapperFactory.getMapperFacade().map(s1,d1);//其他用法...}
复制的对象可以是不同类型,如果复制的属性名称不一致,可以通过修改第2步的配置映射两个类的属性(只需要配置不一致的属性即可) 。
@Configurationpublic class MappperFactoryConfig {@Beanpublic MapperFactory getFactory(){MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();mapperFactory.classMap(A.class, B.class).field("name", "nickName") //不一致属性映射.exclude("createTime") //排除复制属性.byDefault().register();return mapperFactory;}}
这里只介绍了简单的用法示例,orika还提供了丰富的复制方法,包括单对象和集合的复制等 。
文章插图
方法列表
想了解更多内容可以去orika的官方地址查看:「链接」
https://orika-mApper.github.io/orika-docs/ 。
文章插图
【springboot集成超好用对象拷贝框架orika-mapper】官网
推荐阅读
- 招聘|超市底薪才2000多元,为啥没人辞职?内部员工:“傻子”才辞职
- 三观超正的说说签名?有品位的短句个性签名
- 韭菜|天气太热头发别太长,4种超短士发型,剪完真精神
- 超实用!一个命令搞定 Web 国际化
- 超强绿豆减肥法 4款绿豆食谱燃脂快狠准
- 求职|超市底薪才2000多元,为什么没人辞职?员工道出真相
- Intel|Intel 4年5代工艺进展超前!代工服务创纪录
- 翡翠|珍贵藏品,四件极品翡翠,专家估价总价值超9位数
- 中超|本科女孩当职业伴娘,还不能长得太好看,10年寒窗苦读意义何在?
- 孕妇检查B超能吃早饭吗