java|springboot/maven-orika 映射

Orika是一个简单、快速的JavaBean拷贝框架,它能够递归地将数据从一个JavaBean复制到另一个JavaBean,这在多层应用开发中是非常有用的
Orika为开发者提供了如下功能:
1.映射复杂的、深层次结构性对象。
2.通过将嵌套属性映射到顶级属性,“压平”或“展开”对象,反之亦然。
3.自动创建映射,并且在部分或所有映射上自定义。
4.创建转换器,以完全控制对象图中的任何特定对象集合的映射——按类型,甚至是通过特定的属性名。
5.处理代理或增强对象(如Hibernate或各种模拟框架)
6.用一个配置应用双向映射。
7.为一个目标抽象类或接口映射到具体的实现类。
8.映射POJO属性到Lists, Arrays, and Maps。
pom.xml添加相关的依赖,并进行加载

ma.glasnost.orika orika-core 1.5.1 org.projectlombok lombok

首先创建两个对象
UserA:
import lombok.Data; import org.springframework.data.annotation.Id; @Data public class UserA { @Id private int id; private String name ; private int age; @Override public String toString() { return "UserA{id="+id+",name="+name+",age="+age+"}"; } }

UserB:
import lombok.Data; import org.springframework.data.annotation.Id; @Data public class UserB { @Id private int uid; private String username; private int age; }

现在进行写测试类
import com.superl.springboot.springbootdemo.orika.UserA; import com.superl.springboot.springbootdemo.orika.UserB; import ma.glasnost.orika.MapperFacade; import ma.glasnost.orika.MapperFactory; import ma.glasnost.orika.impl.DefaultMapperFactory; import org.junit.Test; public class OrikaTest {@Test public void oriaTest(){ /** * 1.创建mapperFactory * 2.做对象的映射 */ MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build(); mapperFactory.classMap(UserB.class, UserA.class) .field("uid","id") .field("username","name") .byDefault() .register(); //写一个测试对象 UserB user = new UserB(); user.setUid(1); user.setUsername("superl"); user.setAge(12); //将测试对象userB-->UserA进行转换 MapperFacade mapper = mapperFactory.getMapperFacade(); //.map()进行类型转换 UserA userA = mapper.map(user,UserA.class); System.out.print(userA.toString()); } }

测试结果:
UserA{id=1,name=superl,age=12}

【java|springboot/maven-orika 映射】

    推荐阅读