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);

最新文章

  1. How to debug .NET Core RC2 app with Visual Studio Code on Windows?
  2. 如何让自己的app尽量不被系统杀死
  3. mysql在ubuntu下的安装
  4. Hibernate(一)__简介
  5. ubuntu 安装fcitx输入法
  6. 台球游戏的核心算法和AI(1)
  7. (转)【重磅】无监督学习生成式对抗网络突破,OpenAI 5大项目落地
  8. 在sqlserver 中with(nolock)详解
  9. C#集合-列举(Enumeration)
  10. tomcat 部署多个项目的技巧
  11. 63.Assignment to name ignored, since the identifier is never used
  12. 【剑指offer 面试题27】二叉搜索树与双向链表
  13. jsp:session对象存储数据
  14. Linux服务器常用性能监控命令汇总
  15. RenderPartial RenderAction Partial Action
  16. jQuery 文件碎片
  17. java通过JDBC链接SQLServer2012 (含1433端口打通)
  18. Recursive - leetcode [递归]
  19. Django入门一之安装及项目创建
  20. 关于vue项目去除margin和padding后设置元素width和height为100%后,出现滚动条问题(移动端)

热门文章

  1. 【LeetCode】081. Search in Rotated Sorted Array II
  2. webpack打包APP的后端地址处理
  3. H5 限制input只能输入数字
  4. npm in macbook
  5. 照片Urls
  6. Mach系统
  7. C++知识点总结(二)
  8. 《Spring实战》系列之Bean的装配-Days02
  9. springboot thymeleaf org.xml.sax.SAXParseException错误
  10. JVM优化(未完)