BO 与 VO 的属性拷贝 copyProperties(bo,vo)

NewClass extends OldClass   : newClass继承自oldClass,属性大多数相同,但是也有新的扩展.

beanUtils.copyProperties(oldClass, newClass);               //两者都一样的属性,其值可以拷贝.

Spring中也提供了BeanUtils.copyProperties(sourceObj, targetObj ,String[]{ 忽略属性})

来自为知笔记(Wiz)

时间: 2024-10-15 05:56:29

BO 与 VO 的属性拷贝 copyProperties(bo,vo)的相关文章

对象属性拷贝工具类的性能比较

一.对象属性拷贝工具类 ”天下武功,唯快不破“.在互联网行业中体现的更加淋淋尽致.我们在业务系统会经常遇到业务对象间属性的拷贝,对如外接口一般都使用特定的DTO对象,而不会使用领域模型,以避免两者的变动互相影响.我们不仅要关注“快”,还要注重CPU的稳定即避免CPU使用的大起大落现象.如何高效完成属性的拷贝并降低对CPU的使用率或避免CPU的抖动. 相关博文已经有很多,为什么还要自己在一篇类似的哪?原因有二:一是加深理解二是比较各自优劣.目前对象间属性的拷贝常用的方法大致如下: 手动拷贝(set

你还在用BeanUtils进行对象属性拷贝?

一.背景 1.1 对象拷贝概念 Java中,数据类型分为值类型(基本数据类型)和引用类型,值类型包括int.double.byte.boolean.char等简单数据类型,引用类型包括类.接口.数组等复杂类型. 对象拷贝分为浅拷贝(浅克隆)与深拷贝(深克隆). 浅拷贝与深拷贝差异 1.2 示例前准备 源对象属性类UserDO.class(以下示例,源对象都用这个) @Datapublic class UserDO { private int id; private String userName

原型继承与属性拷贝的混合应用

对于继承应用来说,主要目标就是将一些现有的功能归为己有.也就是说,我们在新建一个对象时,通常首先应该继承与现有对象,然后再为其添加额外的方法和属性.具体而言就是: 使用原型继承的方式克隆现存对象. 而对于其他对象使用属性拷贝的方式 function objectPlus(o,stuff){ var n; function F(){} F.prototype=o; n = new F(); n.uber=o; for (var i in stuff){ n[i] = stuff[i]; } ret

javascript --- 原型继承与属性拷贝的综合应用

对于继承来说,主要目标就是将一些现有的功能据为己有.也就是说,我们在新建一个对象的时候,通常首先继承现有对象,然后再为其添加额外的属性和方法. 对此,我们可以通过一个函数调用来完成. 具体而言就是: 1. 使用原型继承的方式,将一个已有对象设置成新对象的原型. 2. 新建一个对象后,将另一个已有对象的属性拷贝过来. function objectPlus(o, stuff){ var n; function F(){}; F.prototype = o.prototype; n = new F(

Java反射获取对象VO的属性值(通过Getter方法)

有时候,需要动态获取对象的属性值. 比如,给你一个List,要你遍历这个List的对象的属性,而这个List里的对象并不固定.比如,这次User,下次可能是Company. e.g. 这次我需要做一个Excel导出的工具类,导出的批量数据是以List类型传入的,List里的对象自然每次都不同,这取决于需要导出什么信息. 为了使用方便,将对象的属性名与属性值存于Map当中,使用时就可以直接遍历Map了. 此次的思路是通过反射和Getter方法取得值,然后记录在一个Map当中. Kick start

java bean属性拷贝工具类比对(性能+功能)

业务系统中经常需要两个对象进行属性的拷贝,不能否认逐个的对象拷贝是最快速最安全的做法,但是当数据对象的属性字段数量超过程序员的容忍的程度比如通常超过5个属性的时候,代码因此变得臃肿不堪,使用一些方便的对象拷贝工具类将是很好的选择. 目前流行的较为公用认可的工具类: Apache的两个版本:(反射机制) org.apache.commons.beanutils.PropertyUtils.copyProperties(Object dest, Object orig) org.apache.com

关于变量与属性

这个问题很基础了,其实在JavaScript中变量和属性的含义跟其他命令式的语言(纯函数式语言没有变量)没有区别. 其实变量和属性的共同点很明显,就是都可以存储数据,并且可以通过一定的途径来访问,大部分的情况下,我们也都是这么使用它们的,但是随着对JavaScript学习的深入,问题就随之而来了,那么它们有什么区别呢?它们是一样的吗? 下面我们看看它们的主要区别: 为了方便描述,我们给变量取名叫variable, 给属性取名attr,并且指定一个前提:JavaScript只有函数是可以运行的,也

关于Spring的BeanUtils

文章<用Spring的BeanUtils前,建议你先了解这几个坑>里面,作者最后得到了这几个结论: 1.Spring得BeanUtils得CopyProperties方法需要对应得属性有getter和setter方法; 2.如果存在属性完全相同得内部类,但是不是同一个内部类,即分别属于各自得内部类,则Spring会认为属性不同,不会Copy; 3.泛型只在编译期起作用,不能依靠泛型来做运行期得限制: 4.最后,Spring和Apache得copy属性得方法源和目的参数得位置正好相反,所以导包和

快速搭建springmvc+spring data jpa工程

一.前言 这里简单讲述一下如何快速使用springmvc和spring data jpa搭建后台开发工程,并提供了一个简单的demo作为参考. 二.创建maven工程 http://www.cnblogs.com/hujunzheng/p/5450255.html 三.配置文件说明 1.application.properties jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/springdata?u