beanUtils是Apache觉得sun公司的内省不够爽,自己又开发了一套可以操作JavaBean的API

所以beanUtils是第三方jar包,使用beanUtils要导包:

在工程目录下新建一个文件夹“lib”,将下载下来的commons-beanutils包导入,beanutils中有个大jar包,还有collections和core两个jar包,后两个jar包加起来就组成了前者。我们把那个大点的包拿过来放lib下。 另外beanutils jar包在工作中需要一个log4j的日志记录器commons-logging.jar的支持,它也要被拿过来放lib下。

然后把这两个jar包,把他们Add to Build Path中,加到开发环境中去。eclipse中鼠标右键就可以做到。

代码:

import org.apache.commons.beanutil.BeanUtils;//导包写这个

……

Person p = new Person();

BeanUtils.setProperty(p,"name","110");//直接将Person的对象p中的私有的name属性设置成110,如果这里的name属性是个整型,那么BeanUtils可以自动将字符串转换成整型。转化只支持八种基本类型。如果想自动转换别的类型,比如Date,需要注册BeanUtils转换器,让它按照我们的规则转换一下。

注册日期转换器办法如下:

ConvertUtils.register(new Converter(){

  public Object convert(Class type,Object value){

    if(value == null){

      return null;

    }

    if(!(value instanceof String)){

      throw new ConversionException("只支持String类型转换");

    }

    String str = (String)value;

    if(str.trim().equals(""){

      return null;

    }

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

    try{

      return df.parse(str);

    }catch(ParseException e){

      throw new RuntimeExcepion(e);//异常链不能断,要把e弄出去让别人看

      //throw new ConversionException("转换失败");

    }

  }

}

,Date.class);

还可以这样:

ConvertUtils.register(new DateLocaleConverter(),Date.class);//这个转换器转空会报错。。

填充map到Bean:

Map<String,String> map = new HashMap<String,String>();

map.put("name","110");//属性不一致会填不进去,但是不会报错

map.put("属性","值");

Person bean = new Person();

BeanUtils.populate(bean,map);

更多内容请参阅第三方API

java beanUtils框架的更多相关文章

  1. BeanUtils框架浅析

    一.使用步骤: 1.添加jar包: commons-beanutils-1.8.0.jar commons-logging.jar 2.使用setProperty()方法对javabean设置属性值 ...

  2. Java集合框架List,Map,Set等全面介绍

    Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I]   +--java.util.ArrayList [C]   +- ...

  3. Java集合框架练习-计算表达式的值

    最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...

  4. Java三大框架 介绍

    三大框架:Struts+hibernate+spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...

  5. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  6. Java 集合框架

    Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...

  7. Java集合框架之map

    Java集合框架之map. Map的主要实现类有HashMap,LinkedHashMap,TreeMap,等等.具体可参阅API文档. 其中HashMap是无序排序. LinkedHashMap是自 ...

  8. 22章、Java集合框架习题

    1.描述Java集合框架.列出接口.便利抽象类和具体类. Java集合框架支持2种容器:(1) 集合(Collection),存储元素集合 (2)图(Map),存储键值对.

  9. Java集合框架实现自定义排序

    Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优 ...

随机推荐

  1. 如何使用C#关键字const,readonly,static

    如果有一个值不太会变化,我们经常使用const和readonly,这2者有何不同呢?有时候,我们也会在readonly之前加上关键字static,这又意味着什么呢? const ● const默认是静 ...

  2. 算法:四种冒泡排序(Bubble Sort)实现

    背景 大学关于排序的算法,好像就学会了冒泡排序,这个算是排序界的 hello,world 了,冒泡排序的定义如下: 重复的遍历数组. /// <summary> /// 重复的遍历数组. ...

  3. glassfish3 读不到web程序的jar包

    现在项目中用到glassfish3,部署了一个web程序.可以访问到首页,但是在登陆的时候提示找不到数据库的驱动包.这个jar包我是放在web-inf/lib下的.但是glassfish就是报找不到j ...

  4. 使用Jenkins和Jmeter搭建性能测试平台

    参考文档:http://blog.csdn.net/liuchunming033/article/details/52186157 jenkins的性能测试结果展现插件:https://wiki.je ...

  5. pymysql的使用心得(1)------小细节,注意!

    最近一段时间开始使用MySQL,使用的是pymysql库. 其中遇到过一些小问题,值得记录一下,以便今后使用的时候注意到. 表格的建立,代码如下: cursor.execute("creat ...

  6. android系统访问自己的tomcat服务器下的项目不能访问的原因

    今天做android的一个下载功能,用自己机子上的tomcat做服务器,在tomcat上下载东西,可是android系统老是提示错误说不能连接到我的tomcat,可是我明明启动了tomcat服务啊,而 ...

  7. Jquery 获取第一个子元素

    <ul>  <li>John</li>  <li>Karl</li>  <li>Brandon</li></u ...

  8. THINKPHP URL模块大小写导致404问题

    最近我使用THINKPHP开发了一个项目在本地的集成开发环境wampserver做开发时并没有出现问题 上传到linux系统也没有出现问题,但当上传到windows平台上就出现了问题"文件4 ...

  9. 在项目代码中载入cocostudio导出的动画并循环播放

    须要在代码中引入#include "cocostudio/CocoStudio.h" using namespace cocostudio; ArmatureDataManager ...

  10. wireshark 的使用(filter的用法)

    转自:http://blog.csdn.net/hanyuxinting/article/details/5558095 过滤器语法---------------------------------- ...