<返回更多

springboot集成超好用对象拷贝框架orika-mapper

2021-08-27    程序员柳大侠
加入收藏

最近开发项目的时候需要用到对象的属性拷贝,以前也有用过一些复制框架,比如spring的 BeanUtils.copyProperties等方式,但总是不尽如人意,最近发现使用orika进行对象拷贝挺好用的分享出来给大家。

先看一下接入步骤,以springboot集成orika为例。

1.maven引入orika

<dependency>
 <groupId>ma.glasnost.orika</groupId>
 <artifactId>orika-core</artifactId>
</dependency>

2.编写orika配置类

@Configuration
public class MappperFactoryConfig {
  
  @Bean
  public MapperFactory getFactory(){
       MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
       return mapperFactory;
   }
  
}

3.使用方式,首先注入MapperFactory,方法里就能直接使用了

Autowired
private 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步的配置映射两个类的属性(只需要配置不一致的属性即可)。

@Configuration
public class MappperFactoryConfig {

     @Bean
     public MapperFactory getFactory(){
         MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
         
         mapperFactory.classMap(A.class, B.class)
           .field("name", "nickName") //不一致属性映射
           .exclude("createTime") //排除复制属性
           .byDefault()
           .register();

         return mapperFactory;
     }
  
}

这里只介绍了简单的用法示例,orika还提供了丰富的复制方法,包括单对象和集合的复制等。

springboot集成超好用对象拷贝框架orika-mapper

方法列表

想了解更多内容可以去orika的官方地址查看:「链接」
https://orika-mApper.github.io/orika-docs/。

springboot集成超好用对象拷贝框架orika-mapper

官网

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>