BeanUtils.copyProperties方法,当属性Date为null解决

问题描述:org.apache.commons.beanutils

user对象和formBean对象都有属性birthday,而且都是java.sql.Date类型的

当进行BeanUtils.copyProperties(user,formBean);复制属性时候,formBean中属性birthday为null,那么就会出现如下异常

解决方法

在BeanUtils.copyProperties(user,formBean);前加上一行代码:

BeanUtilsBean.getInstance().getConvertUtils().register(new SqlDateConverter(null),java.sql.Date.class);

也就是注册一个SqlDateConverter转换器,defaultValue=null,这样就可以接受null值,具体原因可以自己看源码理解

然后user中birthday属性值,往数据库表写数据(date型字段)时也不需要转换,因为是java.sql.Date

最后附上不错的文章:http://jen.iteye.com/blog/1032521

时间: 2024-10-13 19:30:54

BeanUtils.copyProperties方法,当属性Date为null解决的相关文章

非静态的字段,方法或属性要求对象引用如何解决

App_Code.SendMessHelper.SendMessage(): 这样写会报非静态的字段,方法或属性要求对象引用 类里面的方法有兩种表現:一种是直接可以來用的,还有一种是必须实例化以后才能使用的.前者要求在方法生明的時候必須加上static关键字(是不是想起Main方法了???),因爲這個方法不能被实例化!后者就不能加static了,這種方法不能像前面的一樣通過类名.方法名來调用,必須通過实例名.方法名來調用(实例化的过程就是創建一個对象的么). 正确的形式: SendMessHel

BeanUtils.copyProperties() 用法

BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度. 如果你有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里的PO对象(持久对象)和对应的ActionForm.例如:一个用户注册页面,有一个User实体类和一个UserActionForm,我们一般会在Act

(转载)BeanUtils.copyProperties() 用法

BeanUtils.copyProperties() 用法 标签: hibernateuserjdbc数据库strutsjava 2009-10-17 23:04 35498人阅读 评论(6) 收藏 举报  分类: struts1.x(14)  一.简介: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代

BeanUtils.copyProperties缓解代码压力,释放双手

简单描述:之前在写代码的时候,经常把表单提交到后台的对象的参数,通过getter方法取出来,然后,再通过setter方法传递给需要的对象,代码中写了很多get set这种方法,后来听同事说,spring有一个BeanUtils.copyProperties()方法,可以代替我们手动来完成取值赋值的操作.我就试了试,发现果然可以. BeanUtils.copyProperties(courseObj, courseVo);//把courseObj里的属性通过反射赋值给courseVo里相同的属性,

【Java】【50】BeanUtils.copyProperties();只从源对象中拷贝自己为null的值

前言: 关联博客: [Java][3]BeanUtils.copyProperties():将一个实体类的值复制到另外一个实体类 - 花生喂龙 - 博客园https://www.cnblogs.com/huashengweilong/p/10690509.html 关联博客里的是最简单的两个实体类赋值的情况,将oldEntity的值,赋给newEntity.而项目中有时的要求是,newEntity里的对应字段有值,就用newEntity里的:没有值,才将oldEntity的值赋给newEntit

BeanUtils.copyProperties VS PropertyUtils.copyProperties

作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然:比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bean时, 没有考虑到会将null转换为0,而后面的业务依赖于null来判断,导致业务出错.下面总结一下主要的注意点: 大范围两个工具类都是对两个bean之前存在name相同的属性进行处理,无论是源bean或者目标bean多出的属性均不处理. 具体到BeanUtils是相同name并且类型之间支持转换的

BeanUtils.copyProperties()方法和PropertyUtils.copyProperties()的区别

首先两者来源于同一个包: import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.PropertyUtils; 千万不要导包错误,否者会报异常. BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码

【转】关于BeanUtils.copyProperties的用法和优缺点

一.简介:  BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处理导致大量get/set代码堆积,增加了代码长度和阅读代码的难度. 二.用法:  BeanUtils是这个包里比较常用的一个工具类,这里只介绍它的copyProperties()方法.该方法定义如下: Java代码 public static void copyProperties(j

spring boot注解,BigDecimal比较,BeanUtils.copyProperties()用法

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px "Helvetica Neue"; color: #454545 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: justify; font: 12.0px ".PingFang SC"; color: #454545 } span.s1 { font: 12.