springboot/maven-orika 映射
Orika是一个简单、快速的JavaBean拷贝框架,它能够递归地将数据从一个JavaBean复制到另一个JavaBean,这在多层应用开发中是非常有用的
Orika为开发者提供了如下功能:
1.映射复杂的、深层次结构性对象。
2.通过将嵌套属性映射到顶级属性,“压平”或“展开”对象,反之亦然。
3.自动创建映射,并且在部分或所有映射上自定义。
4.创建转换器,以完全控制对象图中的任何特定对象集合的映射——按类型,甚至是通过特定的属性名。
5.处理代理或增强对象(如Hibernate或各种模拟框架)
6.用一个配置应用双向映射。
7.为一个目标抽象类或接口映射到具体的实现类。
8.映射POJO属性到Lists, Arrays, and Maps。
pom.xml添加相关的依赖,并进行加载
<!--orika -->
<dependency><groupId>ma.glasnost.orika</groupId><artifactId>orika-core</artifactId><version>1.5.1</version>
</dependency> <!--lombok 自动创建pojo的set/get方法 -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId>
</dependency>
首先创建两个对象
UserA:
import lombok.Data;
import org.springframework.data.annotation.Id;@Data
public class UserA {@Idprivate int id;private String name ;private int age;@Overridepublic String toString() {return "UserA{id="+id+",name="+name+",age="+age+"}";}
}
UserB:
import lombok.Data;
import org.springframework.data.annotation.Id;@Data
public class UserB {@Idprivate 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 {@Testpublic 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}
springboot/maven-orika 映射相关推荐
- orika 映射非空字段_Orika:将JAXB对象映射到业务/域对象
orika 映射非空字段 这篇文章着眼于使用Orika将JAXB对象映射到业务域对象. 本月初, 我使用基于反射的Dozer讨论 了相同的映射用例 . 在本文中,我假设需要映射相同的示例类,但是它们将 ...
- SpringBoot 整合 Dozer 映射框架
SpringBoot 整合 Dozer 映射框架 1. Dozer 介绍 2. 为什么要使用映射框架 Dozer 3. Dozer 映射框架的使用 1. Dozer 介绍 Dozer 是一个 Java ...
- Java项目:宠物商城系统(java+Springboot+Maven+mybatis+Vue+mysql)
源码获取:博客首页 "资源" 里下载! 一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...
- Java项目:食品溯源系统(java+Springboot+Maven+mybatis+Vue+mysql+wd)
源码获取:博客首页 "资源" 里下载! 一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...
- Java项目:精品养老院管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括:通知公告,老人管理,护工管理,问答管理等等功能. 二.项目运行 环境配置: Jdk1.8 + Tomcat8. ...
- Java项目:基于遗传算法学校排课系统(java+Springboot+Maven+mybatis+Vue+Mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 排课管理,课程管理,讲师管理,班级管理,学生管理,教学资料,学习文档,在线测试,教材列表,教学设计,帮助中心 ...
- Java项目:花店商城系统(java+Springboot+Maven+mybatis+Vue+Mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 商品的分类展示,用户的注册登录,购物车,订单结算,购物车加减,后台商品管理,分类管理,订单管理等等功能. 二 ...
- Java项目:平行志愿管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 系统管理,招生计划,学生管理,录取结果,自动分配,调剂管理等等. 二.项目运行 环境配置: Jdk1.8 + ...
- Java项目:学生管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 学生管理,教师管理,课程管理,成绩管理,系统管理等等. 二.项目运行 环境配置: Jdk1.8 + Tomc ...
- Java项目:考试管理系统(java+Springboot+Maven+Jpa+Vue+Mysql)
源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统功能包括: 支持单选题.多选题.判断题支持学生(student).教师(teacher).管理员(admin)三种角色学 ...
最新文章
- Java日期时间使用总结
- 服务器可以划分成虚拟主机,云服务器是虚拟主机吗
- 论文笔记:N-BEATS: NEURAL BASIS EXPANSION ANALYSIS FORINTERPRETABLE TIME SERIES FORECASTING
- 思维+multiset ZOJ Monthly, July 2015 - H Twelves Monkeys
- nacos 开启权限验证后 报错状态 403
- android 字体像素转换工具类_android工具类,转换大小写,保留小数点处理方法
- typedef函数用法
- (9) tomcat中实现同一虚拟机中所有应用程序单点登录SSO
- 栗子——自定义EditText实现右下角计数控件
- Mac电脑版微信】双开方法,最简单的微信多开教程
- Spring Bean生命周期(简单易懂)
- iexplore.exe_如何一次杀死所有iexplore.exe进程?
- CSS特效六:加载动画
- 软考真题———2018上
- 插件化基础(二)——加载插件资源
- 【python】根据pixiv网站的图片url下载图片到本地
- STC89C52定时器的简介
- 基于TMS32F28035的CLA学习
- 中国外交部和中国驻英国使、领馆联系办法
- vs2010打包解决“.NET Framework 3.5 SP1”
热门文章
- 手指计数——长在身上的计算机
- 基于WIFI连接MAC绑定的点名及数据挖掘探究
- 数学建模债券投资组合_最优投资组合问题的数学模型
- 邓仰东专栏|机器学习的那些事儿(一)
- Java实现时间划分
- primeng dropdown ngmodel 选择项初始化
- AI安全领域的“雨山机车大赛”,改变了什么?
- QC4+充电协议_原来那么多手机支持QC4+快充,小米最多,只是之前用错了充电头...
- 【Javaweb】【答卷】萌狼蓝天大二上学期期末Javaweb考试复习卷(一)
- 粒子群算法理解+求解01背包问题