其实深入探索BeanUtils:高效Java开发利器的问题并不复杂,但是又很多的朋友都不太了解,因此呢,今天小编就来为大家分享深入探索BeanUtils:高效Java开发利器的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
BeanUtils组件是用来简化javaBean的操作的,那么什么是javaBean呢?简单来说,javaBean本质上是一个java类,只是遵循一定规范的java类。
javaBean的特点:
必须有无参数构造函数
属性必须是私有的
私有属性必须通过公共类型方法暴露,也就是说必须出现setXXX()、getXXX()或isXXX()方法。
下载BeanUtils
http://commons.apache.org/proper/commons-beanutils/download_beanutils.cgi,下载组件,然后将jar文件引入到项目中。
导入核心包
commons-beanutils-1.9.3.jar
commons-logging-1.2.jar
注意:当日志jar包丢失时,会出现如下错误信息。 java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
日志组件下载地址:http://commons.apache.org/proper/commons-logging/download_logging.cgi
javaBean实例
BeanUtils 的使用
1.对象的副本,BeanUtils.copyProperties(Object dest,Object orig)
2.对象属性的复制,BeanUtils.copyProperties(Object bean,String name,Object value)或BeanUtils.setProperty(Object bean,String name,Object value)
3.地图数据封装成Javabean,populate(Object bean, Mapproperties)
例子
1. 对象的副本
2.对象属性的复制
3.地图数据封装成javaBean
注意:要将map中的数据封装到JavaBean中,map中的key需要与JavaBean中的私有化属性相匹配。
类型转换器
当javaBean中出现非基本类型数据的私有属性,需要封装该数据时,需要注册该数据类型的类型转换器。否则会出现错误,比如Student对象中的日期类型。
日期类型转换错误:org.apache.commons.beanutils.converters.DateConverter toDate 警告: DateConverter 不支持默认字符串到“日期”的转换。可以看出工具转换器在转换过程中出现了错误。为此,我们可以去查看这个类,以便接下来我们可以实现类型转换。
转换器
解压后的BeanUtils文件下apidoc目录下的index.html中可以找到该类的说明。你会发现它是一个接口,有很多实现类。我们可以使用里面的实现类来转换日期类型或者说我们可以自己注册一个类型转换器。
自定义类型转换器
去重写ConvertUtils中的register(Converter转换器,Class?clazz)方法
使用实用程序类提供的类型转换器
注意:当日期字符串为空字符串或者包含空格时,会报错!
Servlet 中BeanUtils 的使用
获取表单提交的数据,封装成javabean。 request.getParameterMap()获取所有参数并存储在Map中,并使用BeanUtils中的populate(Object bean, Mapproperties)将其封装到对象中,这样就简化了很多。手术!
1.jsp
jsp显示的结果:
jsp显示注册页面2.servlet
【深入探索BeanUtils:高效Java开发利器】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我正在学习 Java,感觉 BeanUtils 工具类还挺实用的。
有19位网友表示赞同!
有没有人能讲讲BeanUtils具体有什么作用?
有14位网友表示赞同!
在日常开发中,BeanUtils能帮我们省好多时间!
有11位网友表示赞同!
想要学习一下BeanUtils 相关的使用方法,大家说哪里可以找资料呢?
有11位网友表示赞同!
使用过BeanUtils的同学来说说你们常用的方法吧!
有18位网友表示赞同!
之前没怎么用,以后有机会试试这个 BeanUtils 好像挺有用的。
有15位网友表示赞同!
我觉得BeanUtils比自己手动操作属性值快多了。
有12位网友表示赞同!
想了解一下BeanUtils的使用场景有哪些?
有10位网友表示赞同!
听说BeanUtils可以用在一些 ORM 操作中吗?
有16位网友表示赞同!
这个Bean的工具类看起来挺方便的,适合新手学习吗?
有9位网友表示赞同!
有没有人可以分享一些使用BeanUtils解决常见问题的例子呢?
有11位网友表示赞同!
感觉BeanUtils 就像一个小帮手一样,省去很多编程步骤。
有15位网友表示赞同!
希望以后我也可以像大师们那样熟练运用 BeanUtils!
有9位网友表示赞同!
学习了 BeanUtils 后,代码是不是可以用得更简洁一些呢?
有9位网友表示赞同!
感觉BeanUtils 真的很强大,帮我们处理物件属性的效率变高很多。
有14位网友表示赞同!
想要了解一下 BeanUtils 与其他工具类的比较?
有13位网友表示赞同!
BeanUtils 的学习资料多吗? 我想尝试深入了解它!
有16位网友表示赞同!
学习 Java 就少不了这些基础工具类,比如 BeanUtils 吧。
有13位网友表示赞同!
真是佩服那些写出如此优雅工具的人,getBean方法太棒了!
有15位网友表示赞同!
对BeanUtils 感兴趣,但对Java基础知识有点薄弱,请问哪里可以先学习呢?
有12位网友表示赞同!