No value specified for 'Date' BeanUtils.copyProperties 日期为空 转型错误
BEGIN;
最近在用spring data,使用的hibernate实现,然后用了一对多等关系配置,导致PO类转换JSON时会死循环,最后使用VO接受数据解决该问题。PO与VO相互转换我用的是org.apache.commons.beanutils工具类。
在有字段是java.util.Date并且值为空时,则会报错:org.apache.commons.beanutils.ConversionException: No value specified for 'Date',经搜索发现是bug,最后自己总结了下解决方式,解决方法如下:
1、写一个专用的转换类
import java.util.Date;
import org.apache.commons.beanutils.Converter;
/**
* 日期转换器,如果为空,则返回空,不执行格式化
*
* @author yzChen 2014-8-19 10:12:31
*/
public class DateConverter implements Converter {
@SuppressWarnings("rawtypes")
public Object convert(Class arg0, Object arg1) {
Date date = (Date) arg1;
return date == null ? null : date;
}
}
2、在初始化的类中进行初始化,本人是在监听器中调用的
public class GlobalValueListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
// 注册日期格式化类
ConvertUtils.register(new DateConverter(), java.util.Date.class);
<span style="white-space:pre"> </span>}
}
经测试,没错,返回的是Long类型的值。如果想要是格式化的字符串,则可以在 convert方法中自己使用SimpleDateFormat进行格式化即可。
END;
技术交流

--- --- --- ---> 点击查看更多最新原创博文<--- --- --- ---
No value specified for 'Date' BeanUtils.copyProperties 日期为空 转型错误的更多相关文章
- BeanUtils.copyProperties方法,当属性Date为null解决
问题描述:org.apache.commons.beanutils user对象和formBean对象都有属性birthday,而且都是java.sql.Date类型的 当进行BeanUtils.co ...
- BeanUtils.copyProperties与PropertyUtils.copyProperties用法及区别
一.简介: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean 通常包含了大量的属性,很多情况下,对Jav ...
- BeanUtils进行日期格式的拷贝转换
自定义Converter的方法: import java.text.ParseException; import java.text.SimpleDateFormat; import org.apac ...
- 【转】关于BeanUtils.copyProperties的用法和优缺点
一.简介: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对Jav ...
- 关于BeanUtils.copyProperties的用法和优缺点
一.简介: BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对Jav ...
- BeanUtils.copyProperties用法
spring的BeanUtils.copyProperties用法 原创 2010年06月03日 13:43:00 标签: spring / struts / 数据库 / 工具 / action 一. ...
- BeanUtils.copyProperties()方法和PropertyUtils.copyProperties()的区别
首先两者来源于同一个包: import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.Prop ...
- BeanUtils.copyProperties VS PropertyUtils.copyProperties
作为两个bean属性copy的工具类,他们被广泛使用,同时也很容易误用,给人造成困然:比如:昨天发现同事在使用BeanUtils.copyProperties copy有integer类型属性的bea ...
- BeanUtils.copyProperties(A,B)使用注意事项
***最近项目中用到BeanUtils.copyProperties(),然后踩了一些坑,也在网上查看了很多同行的测试和总结,现在将自己的测试.整理的注意事项分享如下,希望大家一起学习进步. ***注 ...
随机推荐
- maven国内镜像配置
Maven是当前流行的项目管理工具,但官方的库在国外经常连不上,连上也下载速度很慢.国内oschina的maven服务器很早之前就关了.今天发现阿里云的一个中央仓库,亲测可用. 1 <mirro ...
- tea加密算法及其变种的研究
tea 介绍 "TEA" 的全称为"Tiny Encryption Algorithm" 是1994年由英国剑桥大学的David j.wheeler发明的. T ...
- SpringMvc用什么对象从后台向前台传递数据的?
通过ModelMap对象,可以在这个对象里面调用put方法,把对象加到里面,前台就可以通过el表达式拿到.
- 说说 RPC 的实现原理?
首先需要有处理网络连接通讯的模块,负责连接建立.管理和消息的传输.其次需要有编解码的模块,因为网络通讯都是传输的字节码,需要将我们使用的对象序列化和反序列化.剩下的就是客户端和服务器端的部分,服务器端 ...
- Kafka创建Topic时如何将分区放置到不同的Broker中?
副本因子不能大于 Broker 的个数: 第一个分区(编号为0)的第一个副本放置位置是随机从 brokerList 选择的: 其他分区的第一个副本放置位置相对于第0个分区依次往后移.也就是如果我们有5 ...
- 什么是 Callable 和 Future?
Callable 接口类似于 Runnable,从名字就可以看出来了,但是 Runnable 不会返 回结果,并且无法抛出返回结果的异常,而 Callable 功能更强大一些,被线程执 行后,可以返回 ...
- 学习Apache(二)
反向代理负载均衡之APACHE 一.反向代理1.1 介绍反响代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将 ...
- 学习GlusterFS(八)
GlusterFS集群创建 一.简介 GlusterFS概述 Glusterfs是一个开源的分布式文件系统,是Scale存储的核心,能够处理千数量级的客户端.在传统的解决 方案中Glusterfs能够 ...
- 使用Ansible部署openstack平台
使用Ansible部署openstack平台 本周没啥博客水了,就放个云计算的作业上来吧(偷个懒) 案例描述 1.了解高可用OpenStack平台架构 2.了解Ansible部署工具的使用 3.使用A ...
- 10分钟go crawler colly从入门到精通
Introduction 本文对colly如何使用,整个代码架构设计,以及一些使用实例的收集. Colly是Go语言开发的Crawler Framework,并不是一个完整的产品,Colly提供了类似 ...