BeanUtils.copyProperties的简单使用教程
背景介绍
1.在serviceImpl层使用DTO拷贝到entity,然后保存到数据库;
2. 在serviceImpl层使用entity拷贝到DTO,然后把数据返回到页面;
3.把父类的属性拷贝到子类中。
方案选择
1.一个一个属性的set。
2.使用封装好的BeanUtils.copyProperties
tips:
1.BeanUtils.copyProperties属于浅拷贝,引用的一个内存地址。(深拷贝基本类型值传递,引用类型创建新对象,并复制其内容。)
2.spring的BeanUtils :
方法:copyProperty和copyProperties
参数:src ,dest
commons的BeanUtils:
方法:copyProperties
参数:dest,src
3.commons-beantutils 对于对象拷贝加了很多的检验,包括类型的转换,甚至还会检验对象所属的类的可访问性,可谓相当复杂,这也造就了它的差劲的性能。
spring下的BeanUtils也是使用 copyProperties
方法进行拷贝,只不过它的实现方式非常简单,就是对两个对象中相同名字的属性进行简单的get/set,仅检查属性的可访问性。
推荐使用spring下的BeanUtils。
使用方案
1.基本赋值
org.springframework.beans.BeanUtils.copyProperties(src, dest);
2.部分赋值
org.springframework.beans.BeanUtils.copyProperties(src, dest,ignoreProperty);
org.springframework.beans.BeanUtils.copyProperties(src, dest,String... ignorePropertys);
tips:
参数 String... ignorePropertys可以忽略多个属性;
如:String [] ignorePropertys = new String[]{"Property1","Property2"};
笔者: 沙漏倒装回忆1024
出处:https://www.cnblogs.com/lpan1024/
版权所有,欢迎保留原文链接进行转载!
请点赞关注留言,如果有任何建议也可以留言,因为我会回复每一条评论,感谢阅读。
作者:沙漏倒装回忆1024
版权所有,转载请注明原文链接: https://www.cnblogs.com/lpan1024/p/16704557.html
请点赞关注留言,如果有任何建议也可以留言,因为我会回复每一条评论,感谢阅读。
版权所有,转载请注明原文链接: https://www.cnblogs.com/lpan1024/p/16704557.html
请点赞关注留言,如果有任何建议也可以留言,因为我会回复每一条评论,感谢阅读。