[java]代码库package bean_mapping;

import static org.junit.Assert.assertEquals;

import java.util.ArrayList;

import java.util.List;

import ma.glasnost.orika.MapperFacade;

import ma.glasnost.orika.MapperFactory;

import ma.glasnost.orika.impl.DefaultMapperFactory;

import org.junit.Before;

import org.junit.Test;

public class TestBeanMapping {

MapperFacade mapper = null;

@Before

public void init() {

//创建mapper的工厂类

MapperFactory factory = new DefaultMapperFactory.Builder().build();

//注册一个mapper,这段可以同过继承configurableMapper类,配置成spring bean

factory.registerClassMap(factory.classMap(SourceObj.class, DescObj.class)

//设置正向空值不复制,反向空值不复制

.mapNulls(false).mapNullsInReverse(false)

//相同的字段不需要显示声明

//.field("prop1", "prop1")

.field("intProp2", "prop2")

//List, Array, Map类型的复制方式

.field("listProp3{}", "prop3{}").mapNulls(true)

.byDefault().toClassMap());

//获取mapper

mapper = factory.getMapperFacade();

}

@Test

public void testMapping() {

//构建源对象

SourceObj source = new SourceObj();

source.setProp1("test");

source.setIntProp2("test2");

List propList = new ArrayList();

propList.add("TestString");

propList.add("TestString2");

source.setListProp3(propList);

//转换成目标对象

DescObj desc = mapper.map(source, DescObj.class);

assertEquals(source.getProp1(), desc.getProp1());

assertEquals(source.getIntProp2(), desc.getProp2());

assertEquals(desc.getProp2(), "test2");

assertEquals(desc.getProp3().size(),2);

}

}

[源代码打包下载]

orika java_使用orika进行对象间Mapping相关推荐

  1. 利用BeanUtils在对象间复制属性

    commons-beanutils是jakarta commons子项目中的一个软件包,其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很 ...

  2. 【原创】面向对象作业:选课系统中用pickle储存多个对象间组合引用关系的那些坑...

    转载请注明出处:https://www.cnblogs.com/oceanicstar/p/9030121.html 想直接看结论先提前列出: 1.存储一个对象,文件不是真的给你存储的了对象这种东西, ...

  3. 第十六课、Qt对象间的父子关系------------------狄泰软件学院

    一.Qt对象间的关系 1.Qt对象间可以存在父子关系 (1).每个对象都保存有它所有子对象的指针 (2).每一个对象都有一个指向其父对象的指针 2.当指定Qt对象的父对象时 (1).其父对象会在子对象 ...

  4. 对象间的联动——观察者模式

    本文转载自 :http://blog.csdn.net/lovelion/article/details/7720232 观察者模式是设计模式中的"超级模式",其应用随处可见,在之 ...

  5. C++中建立对象间消息连接的系统方法

    用过C++进行过面向对象程序设计的用户都知道,程序中的对象很少单独存在.不考虑对象间的相互作用几乎是不可能的.所以,标识对象间的关系或建立对象间的消息连接是面向对象程序设计的一项重要任务.本文着重从C ...

  6. 依赖注入与对象间关系

    依赖注入(DI)是控制反转(IoC)的一种方式.目前,在.NET和Java领域已经有相当多基于DI思想的对象容器,如:Spring,Unity等.本文试图避免重复性地介绍DI基础知识和DI容器的使用, ...

  7. 7.QT-Qt对象间的父子关系

    Qt对象之间可以存在父子关系 继承于QObject类或者其子类的对象,都称为Qt对象 当指定Qt对象的父对象时 需要通过setParent()成员函数来设置对象间的父子关系 子对象将会把自己的指针地址 ...

  8. oracle对象依赖关系图,Oracle concepts 学习笔记(4)——Schema对象间的依赖关系

    Schema对象间的依赖关系 一些对象的定义,包括视图和存储过程,需要引用其它的对象,比如表.因此,这些对象的定义将依赖于被引用的对象的定义. 一.简单介绍依赖 一些类型的schema对象可以引用其它 ...

  9. C++ 对象间的赋值与拷贝构造函数

    1.对象间的赋值 /***A.h文件***/ #pragma once class A { public:int va;A(void);A(char* name);A(const A& a); ...

最新文章

  1. Swift常量和变量
  2. Windows anaconda python3 import ssl报错的解决方案
  3. linux网络编程之posix 线程(四):posix 条件变量与互斥锁 示例生产者--消费者问题
  4. python用户登录_python用户登录系统
  5. java guava_java项目中使用guava的工具包的心得
  6. oracle狎鸥亭_卢永佑 个人主页 - 韩国奥拉克皮肤科整外科 - 美佳网
  7. maven简单了解,没有Maven和使用Maven的区别
  8. Windows 7常见蓝屏代码解决办法
  9. 2020 年百度之星·程序设计大赛 - 初赛一
  10. 基本共射放大电路概念详解
  11. Fabric v2.2 单机部署 使用tape测试
  12. Sematic库系列一
  13. Arcmap做地形地貌图流程
  14. linear-gradient实现Ps标尺
  15. ASP.NET MVC4 微信公众平台开发测试一: 验证
  16. 高颜值游戏蓝牙耳机初体验,2020新款低延迟蓝牙耳机测评推荐
  17. 案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出excel、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)
  18. 给vmware7虚拟机xp整理磁盘碎片
  19. VBA入门到进阶常用知识代码总结40
  20. 手机上传图片文件只能打开相机

热门文章

  1. Camera2点击对焦实现
  2. [LOJ6278]数列分块入门 2
  3. 【Zookeeper】源码分析之请求处理链(四)之FinalRequestProcessor
  4. meteor是什么东西?
  5. 使用CDN加速后网站不能使用HttpWebRequest提交数据
  6. Visual Studio.NET 2008开发一册通--LINQ从基础到项目实战这本书怎么样
  7. Win32 的dll导入问题总结-------------
  8. cept源代码目录结构详解_知识树(转)
  9. 【思维题 单调栈】loj#2430. 「POI2014」沙拉餐厅 Salad Bar
  10. 学习node.js的一些笔记