DozerBeanMapper 配置
applicationContext.xml
<bean id="mapper" class="org.dozer.spring.DozerBeanMapperFactoryBean" scope="singleton">
<property name="mappingFiles">
<list>
<value>classpath*:/*mapping.xml</value>
</list>
</property>
</bean>
pom.xml
<!-- dozer -->
<dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer</artifactId>
<version>5.5.1</version>
</dependency> <dependency>
<groupId>net.sf.dozer</groupId>
<artifactId>dozer-spring</artifactId>
<version>5.5.1</version>
</dependency>
outboundnotice-mapping.xml
<class-a>指定所要复制的源对象,<class-b>复制的目标对象,<a>源对象的属性名, <b>目标对象的属性名。
wildcard默认为true,在此时默认对所有属性进行map,如果为false,则只对在xml文件中配置的属性进行map。
<?xml version="1.0" encoding="UTF-8"?>
<mappings xmlns="http://dozer.sourceforge.net"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://dozer.sourceforge.net http://dozer.sourceforge.net/schema/beanmapping.xsd"> <mapping wildcard="false" type="one-way">
<class-a>com.yundaex.wms.outbound.po.RivOutboundNoticeH</class-a>
<class-b>com.yundaex.wms.core.status.po.RivStatusHistory</class-b> <!-- 单头ID -->
<field>
<a>onhId</a>
<b>shHeaderId</b>
</field> </mapping> <mapping wildcard="false" type="one-way">
<class-a>com.yundaex.wms.outbound.po.RivPickL</class-a>
<class-b>com.yundaex.wms.core.status.po.RivStatusHistory</class-b> <!-- 单头ID -->
<field>
<a>pklId</a>
<b>shHeaderId</b>
</field> </mapping> <mapping type="one-way" wildcard="false">
<class-a>com.yundaex.wms.outbound.bo.SrcPickAllocateBO</class-a>
<class-b>com.yundaex.wms.core.store.bo.QuantWithDtl</class-b> <field>
<a>detail.pklSrcContainerId</a>
<b>qtContainerId</b>
</field> <field>
<a>detail.pklExpiryDate</a>
<b>qtExpiryDate</b>
</field> <field>
<a>detail.pklSrcLocationId</a>
<b>qtLocationId</b>
</field> <field>
<a>detail.pklLotItem1</a>
<b>qtLotItem1</b>
</field> <field>
<a>detail.pklLotItem2</a>
<b>qtLotItem2</b>
</field> <field>
<a>detail.pklLotItem3</a>
<b>qtLotItem3</b>
</field> <field>
<a>detail.pklLotNo</a>
<b>qtLotNo</b>
</field> <field>
<a>detail.pklLotString1</a>
<b>qtLotString1</b>
</field> <field>
<a>detail.pklLotString2</a>
<b>qtLotString2</b>
</field> <field>
<a>detail.pklLotString3</a>
<b>qtLotString3</b>
</field> <field>
<a>detail.pklLotString4</a>
<b>qtLotString4</b>
</field> <field>
<a>detail.pklLotString5</a>
<b>qtLotString5</b>
</field> <field>
<a>detail.pklSrcLpn</a>
<b>qtLpn</b>
</field> <field>
<a>detail.pklManufDate</a>
<b>qtManufDate</b>
</field> <field>
<a>detail.pklMaterialId</a>
<b>qtMaterialId</b>
</field> <field>
<a>detail.pklMaterialStatusId</a>
<b>qtMaterialStatusId</b>
</field> <field>
<a>head.onhOrgId</a>
<b>qtOrgId</b>
</field> <field>
<a>head.onhOwnerId</a>
<b>qtOwnerId</b>
</field> <field>
<a>detail.pklRecvDate</a>
<b>qtRecvDate</b>
</field> <!-- 推车格子号不作用于库存变动 拣货明细中格子号是一直为空的 -->
<!--
<field>
<a>detail.pklSrcTrolleyCellNo</a>
<b>qtTrolleyCellNo</b>
</field>
--> <field>
<a>detail.pklVoucherNo</a>
<b>qtVoucherNo</b>
</field> </mapping> <mapping type="one-way" wildcard="false">
<class-a>com.yundaex.wms.outbound.bo.DestPickAllocateBO</class-a>
<class-b>com.yundaex.wms.core.store.bo.QuantWithDtl</class-b> <field>
<a>detail.pklDestContainerId</a>
<b>qtContainerId</b>
</field> <field>
<a>detail.pklExpiryDate</a>
<b>qtExpiryDate</b>
</field> <field>
<a>detail.pklDestLocationId</a>
<b>qtLocationId</b>
</field> <field>
<a>detail.pklLotItem1</a>
<b>qtLotItem1</b>
</field> <field>
<a>detail.pklLotItem2</a>
<b>qtLotItem2</b>
</field> <field>
<a>detail.pklLotItem3</a>
<b>qtLotItem3</b>
</field> <field>
<a>detail.pklLotNo</a>
<b>qtLotNo</b>
</field> <field>
<a>detail.pklLotString1</a>
<b>qtLotString1</b>
</field> <field>
<a>detail.pklLotString2</a>
<b>qtLotString2</b>
</field> <field>
<a>detail.pklLotString3</a>
<b>qtLotString3</b>
</field> <field>
<a>detail.pklLotString4</a>
<b>qtLotString4</b>
</field> <field>
<a>detail.pklLotString5</a>
<b>qtLotString5</b>
</field> <field>
<a>detail.pklDestLpn</a>
<b>qtLpn</b>
</field> <field>
<a>detail.pklManufDate</a>
<b>qtManufDate</b>
</field> <field>
<a>detail.pklMaterialId</a>
<b>qtMaterialId</b>
</field> <field>
<a>detail.pklMaterialStatusId</a>
<b>qtMaterialStatusId</b>
</field> <field>
<a>head.onhOrgId</a>
<b>qtOrgId</b>
</field> <field>
<a>head.onhOwnerId</a>
<b>qtOwnerId</b>
</field> <field>
<a>detail.pklRecvDate</a>
<b>qtRecvDate</b>
</field> <!-- 推车格子号不作用于库存变动 拣货明细中格子号是一直为空的 -->
<!--
<field>
<a>detail.pklSrcTrolleyCellNo</a>
<b>qtTrolleyCellNo</b>
</field>
--> <field>
<a>detail.pklVoucherNo</a>
<b>qtVoucherNo</b>
</field> </mapping> <mapping wildcard="false" type="one-way">
<class-a>com.yundaex.wms.outbound.po.RivOutboundNoticeH</class-a>
<class-b>com.yundaex.wms.outbound.po.RivOutboundNoticeH</class-b> <field>
<a>onhCarrierId</a>
<b>onhCarrierId</b>
</field> <field>
<a>onhConsignee</a>
<b>onhConsignee</b>
</field> <field>
<a>onhConsigneeAddress</a>
<b>onhConsigneeAddress</b>
</field> <field>
<a>onhConsigneeMobile</a>
<b>onhConsigneeMobile</b>
</field> <field>
<a>onhConsigneePostCode</a>
<b>onhConsigneePostCode</b>
</field> <field>
<a>onhConsigneeTel</a>
<b>onhConsigneeTel</b>
</field> <field>
<a>onhExpectDatetime</a>
<b>onhExpectDatetime</b>
</field> <field>
<a>onhInputDatetime</a>
<b>onhInputDatetime</b>
</field> <field>
<a>onhInputUserId</a>
<b>onhInputUserId</b>
</field> <field>
<a>onhOrderDatetime</a>
<b>onhOrderDatetime</b>
</field> <field>
<a>onhOrgId</a>
<b>onhOrgId</b>
</field> <field>
<a>onhOwnerId</a>
<b>onhOwnerId</b>
</field> <field>
<a>onhTxType</a>
<b>onhTxType</b>
</field> <field>
<a>onhConsAddressCity</a>
<b>onhConsAddressCity</b>
</field> <field>
<a>onhConsAddressDistrict</a>
<b>onhConsAddressDistrict</b>
</field> <field>
<a>onhConsAddressProvince</a>
<b>onhConsAddressProvince</b>
</field> <field>
<a>onhShopName</a>
<b>onhShopName</b>
</field> <field>
<a>onhPlatformCode</a>
<b>onhPlatformCode</b>
</field> <field>
<a>onhPlatformName</a>
<b>onhPlatformName</b>
</field> <field>
<a>onhBuyerNickname</a>
<b>onhBuyerNickname</b>
</field> <field>
<a>onhTransactionNo</a>
<b>onhTransactionNo</b>
</field> <field>
<a>onhPickUpType</a>
<b>onhPickUpType</b>
</field> <field>
<a>onhSender</a>
<b>onhSender</b>
</field> <field>
<a>onhSenderAddress</a>
<b>onhSenderAddress</b>
</field> <field>
<a>onhSenderMobile</a>
<b>onhSenderMobile</b>
</field> <field>
<a>onhSenderPostCode</a>
<b>onhSenderPostCode</b>
</field> <field>
<a>onhSenderTel</a>
<b>onhSenderTel</b>
</field> <field>
<a>onhSetPackageDestination</a>
<b>onhSetPackageDestination</b>
</field> </mapping> <mapping wildcard="false" type="one-way">
<class-a>com.yundaex.wms.outbound.po.RivOutboundNoticeL</class-a>
<class-b>com.yundaex.wms.outbound.po.RivOutboundNoticeL</class-b> <field>
<a>onlMaterialId</a>
<b>onlMaterialId</b>
</field> <field>
<a>onlPrice</a>
<b>onlPrice</b>
</field> <field>
<a>onlNoticeQty</a>
<b>onlNoticeQty</b>
</field> <field>
<a>onlAllocQty</a>
<b>onlAllocQty</b>
</field> <field>
<a>onlRemark</a>
<b>onlRemark</b>
</field> </mapping> </mappings>
private static final Mapper mapper = (Mapper) SpringContext.getBean("mapper"); QuantWithDtl sourceQuant = mapper.map(source, QuantWithDtl.class);
DozerBeanMapper 配置的更多相关文章
- DozerBeanMapper + 对象转Map方法
1.简介 dozer是一种JavaBean的映射工具,类似于apache的BeanUtils.但是dozer更强大,它可以灵活的处理复杂类型之间的映射.不但可以进行简单的属性映射.复杂的类型映 ...
- 配置android sdk 环境
1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/
- Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记
以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...
- react-router 组件式配置与对象式配置小区别
1. react-router 对象式配置 和 组件式配置 组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...
- 总结:Mac前端开发环境的搭建(配置)
新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...
- Android Studio 多个编译环境配置 多渠道打包 APK输出配置
看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...
- Virtual Box配置CentOS7网络(图文教程)
之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
随机推荐
- PLSQL查询最近编绎、创建、修改过的过程函数
SELECT * FROM User_Objects t WHERE t.Object_Type IN ('PROCEDURE', 'PACKAGE BODY', 'FUNCTION') AND t. ...
- JS通过经纬度计算两个地方的距离
1 主要原理: Lat1 Lung1 表示A点纬度和经度,Lat2 Lung2 表示B点纬度和经度: a=Lat1 – Lat2 为两点纬度之差 b=Lung1 -Lung2 为两点经度之差: 63 ...
- 第三波精品Android源码袭来!免费下载
今天又汇总了一些源码供大家免费下载学习! 1.Android实现NewQuickAction快捷菜单NewQuickAction能根据点击事件发生的坐标来显示一个快捷菜单,比如点击位置在靠近底部,则弹 ...
- Web Pages(单页面模型)
.NET 是一套框架,用来个HTML.JS.CSS和服务器端脚本构建网页和网站. 可以有三种开发模式:Web Pages(单页面模型).MVC(模型视图控制器).Web Forms(事件驱动模型) W ...
- BluetoothSetServiceState 函数
DWORD BluetoothSetServiceState( HANDLE hRadio, BLUETOOTH_DEVICE_INFO* pbtdi, GUID* pGuidService, DWO ...
- hive查询ncdc天气数据
使用hive查询ncdc天气数据 在hive中将ncdc天气数据导入,然后执行查询shell,可以让hive自动生成mapredjob,快速去的想要的数据结果. 1. 在hive中创建ncdc表,这个 ...
- USACO-Greedy Gift Givers(贪婪的送礼者)-Section1.2<2>
[英文原题] Greedy Gift Givers A group of NP (2 ≤ NP ≤ 10) uniquely named friends has decided to exchange ...
- Matlab常用函数(1)
1.max() C = max(A) A为向量,返回最大值.若为矩阵,以类向量为基准,返回每列的最大值的行向量.若为多维矩阵.切片返回每一个2维矩阵的行向 量. C = max(A,B) ...
- IE和W3c盒模型
盒子模型是css中一个重要的概念,理解了盒子模型才能更好的排版.其实盒子模型有两种,分别是 ie 盒子模型和标准 w3c 盒子模型.他们对盒子模型的解释各不相同,先来看看我们熟知的标准盒子模型: 从上 ...
- 《Spring实战》系列之Bean的装配-Days01
1 自动化装配bean Spring通过两个方面实现对bean的自动装配 1 ) 组件扫描(component scaning):Spring会自动发现Spring上下文中的bean 2 ) 自动装配 ...