Dozer--第三方复制工具,哎哟,还不错!
2015-08-11 15:05
288 查看
Dozer简单点说,就是拷贝工具,也是复制工具的意思,官方的解释是:Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types.非常直白,就是类与类之间的属性复制,包括复杂的属性,这点很不错,嗯嗯,看具体运用
引入maven
然后再写一个简单的工具类,如下:
因为只是做拷贝,个人觉得单例最为合适,然后就是怎么用了,呵呵
这种方式大多数用在web服务器上,将各户提交的VO转成model,或者将model转成各户需要的VO,但是这里注意的是,如果与Hibernate的表关联并用,会出现循环等错误的现象,这个经常出现在类与类有@manyToOne和@oneTomany的关系,如果出现了,就请另想办法解决吧,一般情况下还是屡试不爽的
引入maven
<dependency> <groupId>net.sf.dozer</groupId> <artifactId>dozer</artifactId> <version>5.5.1</version> </dependency>
然后再写一个简单的工具类,如下:
/** * 属性复制工具 * * @author Dan * */ public class DozerBeanMapperUtil { private static DozerBeanMapper mapper; private DozerBeanMapperUtil() { } public static DozerBeanMapper getInstance() { if(mapper==null){ mapper = new DozerBeanMapper(); } return mapper; } }
因为只是做拷贝,个人觉得单例最为合适,然后就是怎么用了,呵呵
public static void main(String[] args) { DozerBeanMapper dozer = DozerBeanMapperUtil.getInstance(); User u1 = new User(); u1.setName("u1"); System.out.println(u1.getName()); User u2 = new User(); dozer.map(u1, u2); System.out.println(u2.getName()); }很简单的main方法,我只是把u1复制到u2而已.实际打印出来u2的名字也是u1,说明条用成功
这种方式大多数用在web服务器上,将各户提交的VO转成model,或者将model转成各户需要的VO,但是这里注意的是,如果与Hibernate的表关联并用,会出现循环等错误的现象,这个经常出现在类与类有@manyToOne和@oneTomany的关系,如果出现了,就请另想办法解决吧,一般情况下还是屡试不爽的
相关文章推荐
- barrier_breaker14.07交叉编译libcurl并打包
- 日志组件logback的介绍及配置使用方法
- cookie 二级域名共享
- 第一次使用vim遇到的问题及常用方法
- USACO maze1 BFS
- 畅通工程,继续畅通工程,畅通工程再续,多种解法
- Acegi授权策略和保护web资源
- poj 1182 深入并查集
- java线程池ThreadPoolExecutor原理及使用
- Swift开发教程--有关图片处理的一些有用函数
- java 环境变量配置
- C++_重载运算符<< ostream流重载注意事项_使自定义数据可以用cout输出
- 数据结构(26)二叉树
- Merge into的使用详解-你Merge了没有【转】
- PAT 1044. Shopping in Mars (25)
- 2015/08/11博客园页面(自身)
- WebSocket在java Tomcat中实现
- UI021---UITableView数据刷新
- 7种查找算法解析
- 好看的dialog,sweet Alert Dialog 导入Android Studio