BeanUtils介绍及其使用

概述



BeanUtils工具由Apache软件基金组织编写,提供给我们使用,主要解决的问题是:把对象的属性数据封装到对象中。在整个J2EE的编程过程中,我们经常会从各种配置文件中读取相应的数据,需要明白的一点是从配置文件中读取到的数据都是String,但是很显然我们的应用程序中不仅仅有String一种数据类型,比如:基本数据类型(int、double、char、float等),还有自定义数据类型(引用数据类型),那么我们必须面临的一个问题就是讲字符串类型转换为各种具体的数据类型,该怎么办呢?有两种方法供我们是使用:

  • 首先判断需要的数据类型,然后对字符串类型调用相应的方法,将其转换为我们想要的类型
  • 使用BeanUtils工具

对于上面提到的两种方法,我们分析第一种存在的问题是太过于繁琐,每次都要进行大量的类型转换,Apache软件基金会给我们提供了第二种方法,使用其提供的BeanUtils工具,具体的说只需要知道其中的两个方法就能实现类型的转换,很简单,降低了编程的难度。

导包



很明显,要想使用别人开发的工具必须将其jar包导入到程序中,但是BeanUtils包存对另外一个软件包的依赖,下面将具体的显示jar包的名字,其中的版本号不一定与我使用的相同。

请下载最新的版本,并把相应的jar包导入到程序中,具体导入jar包的方法在这里就不做任何的介绍了,这属于最基本的知识,只要你在从事Java EE的项目开发,几乎每天都会遇到各种不同的jar包的导入。在开始编写具体的代码之前,请将source导入到程序中,否则将不能生成正确的重载函数,只需要使用吧Attach Source,将jar包(使用外部文件的方式导入,不要使用外部文件夹的方式导入)导入即可。

使用



Beanutils工具在使用时几乎只用到以下几个方法,其中一个方法通常情况下都是使用匿名内部类。

  • BeanUtils.setProperty(bean, name, value);其中bean是指你将要设置的对象,name指的是将要设置的属性(写成”属性名”),value(从配置文件中读取到到的字符串值)
  • BeanUtils.copyProperties(bean, name, value),和上面的方法是完全一样的。使用哪个都可以
  • ConvertUtils.register(Converter converter , ..),当需要将String数据转换成引用数据类型(自定义数据类型时),需要使用此方法实现转换。
  • BeanUtils.populate(bean,Map),其中Map中的key必须与目标对象中的属性名相同,否则不能实现拷贝。
  • BeanUtils.copyProperties(newObject,oldObject),实现对象的拷贝
自定义数据类型使用BeanUtils工具时必须具备的条件


自定义数据类型使用BeanUtils工具时,本身必须具备getter和setter方法,因为BeanUtils工具本身也是一种内省的实现方法,所以也是借助于底层的getter和setter方法进行转换的。

时间: 2024-08-26 16:04:05

BeanUtils介绍及其使用的相关文章

commons-beanutils介绍

/** * ************* BeanUtils 介绍 ************* * BeanUtils便于对javaBean的属性进行赋值 * BeanUtils便于对javaBean对象进行赋值 * BeanUtils以将一个MAP集合的数据拷贝到一个javabean对象中. * BeanUtils常用的静态方法有: * cloneBean:克隆, 无法实现深clone * copyProperties:属性复制, null值也会复制 * copyProperty:克隆指定属性

Java一些七七八八的配置

mysql驱动配置连接eclipse和控制台(cmd)(JAVA) https://blog.csdn.net/u013000747/article/details/55510671 BeanUtils介绍及其使用 https://blog.csdn.net/jpzhu16/article/details/51582930 Maven使用详解,非常详细 https://blog.csdn.net/hcmony/article/details/56013655 Dom4j完整教程 https://

BeanUtils工具的学习与介绍

什么是javabean呢? 简单来说,就是存粹的java对象,每个属性都提供对应的setXxx,getXxx方法. 下面是apache common beanutils对javabean的解释 As a necessary consequence of having a no-arguments constructor, configuration of your bean's behavior must be accomplished separately from its instantia

BeanUtils.populate( Object bean, Map properties )方法的介绍

今天在看公司的代码的时候,看到这个方法.上网搜集了一下这个方法的意思. import org.apache.commons.beanutils.BeanUtils; 这个是apache下面的一个工具类. BeanUtils.populate( Object bean, Map properties ). 这个方法的内部执行机制是.遍历map集合中的key,判断bean对象中是否有以这个和key相同的属性,如果有就将这个key对应的value值,付给bean对应的属性. 原文地址:https://

Apache Commons 工具类介绍及简单使用

Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍.   组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES.SHA1.MD5.Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库. C

Apache Commons 工具集介绍

Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES.SHA1.MD5.Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库. Con

BeanUtils 以及BeanUtils.populate使用

Apache Jakarta Commons项目非常有用.我曾在许多不同的项目上或直接或间接地使用各种流行的commons组件.其中的一个强大的组件就是BeanUtils.我将说明如何使用BeanUtils将local实体bean转换为对应的value 对象: BeanUtils.copyProperties(aValue, aLocal) 上面的代码从aLocal对象复制属性到aValue对象.它相当简单!它不管local(或对应的value)对象有多少个属性,只管进行复制.我们假设local

Apache Commons工具包介绍

Apache  Commons工具包介绍 Apache Commons是一个非常有用的工具包,解决各种实际的通用问题,下面是一个简述表,详细信息访问 http://jakarta.apache.org/commons/index.html BeanUtils  Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt  Betwixt提供将 JavaBean 映射至 XML 文档,以及相反映射的服务. Chain  Chain 提供实现组织复杂的处理流程的"责

Apache Commons Beanutils 三 (BeanUtils、ConvertUtils、CollectionUtils...)

前言 前面已经学习了Apache Commons Beanutils包里的PropertyUtils和动态bean,接下来将学习剩下的几个工具类,个人觉得还是非常实用的,特别是CollectionUtils: BeanUtils 简单介绍下两个方法的使用,populate和copyProperties, populate可以帮助我们把Map里的键值对值拷贝到bean的属性值中: copyProperties,顾名思义,帮我们拷贝一个bean的属性到另外一个bean中,注意是浅拷贝 如下示例: /