java beanUtils框架
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框架的更多相关文章
- BeanUtils框架浅析
一.使用步骤: 1.添加jar包: commons-beanutils-1.8.0.jar commons-logging.jar 2.使用setProperty()方法对javabean设置属性值 ...
- Java集合框架List,Map,Set等全面介绍
Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
- Java三大框架 介绍
三大框架:Struts+hibernate+spring Java三大框架主要用来做WEN应用. Struts主要负责表示层的显示 Spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作 ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- Java 集合框架
Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...
- Java集合框架之map
Java集合框架之map. Map的主要实现类有HashMap,LinkedHashMap,TreeMap,等等.具体可参阅API文档. 其中HashMap是无序排序. LinkedHashMap是自 ...
- 22章、Java集合框架习题
1.描述Java集合框架.列出接口.便利抽象类和具体类. Java集合框架支持2种容器:(1) 集合(Collection),存储元素集合 (2)图(Map),存储键值对.
- Java集合框架实现自定义排序
Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优 ...
随机推荐
- 如何让access空值变成0?(确切的说是让access Null值变成0)
方法一 if IsNull(Me.新_退休费) = True Then Me.新_退休费 = 0 方法二 if Nz(Me.原_退休费) = Me.原_退休费 Then Me.原_退休费 = 0 有 ...
- 触发器系列(2) DataTrigger
触发条件: DataTrigger是以控件DataContext的属性作为触发条件 本例效果说明: <!--当值为1时将外边框的背景色改为黑色--> <!--当值为2时 改变透明度达 ...
- #line 的作用是改变当前行数和文件名称
#line 的作用是改变当前行数和文件名称,它们是在编译程序中预先定义的标识符命令的基本形式如下: #line number["filename"]其中[]内的文件名可以省略. ...
- 开篇-QT完全手册
嵌入式工具Qt的安装与使用 摘要 Qt是Trolltech公司的一个产品.Trolltech是挪威的一家软件公司,主要开 发两种产品:一种是跨平台应用程序界面框架:另外一种就是提供给做嵌入式Linux ...
- [3] 球(Sphere)图形的生成算法
顶点数据的生成 bool YfBuildSphereVertices ( Yreal radius, Yuint slices, Yuint stacks, YeOriginPose originPo ...
- UVA 10194 (13.08.05)
:W Problem A: Football (aka Soccer) The Problem Football the most popular sport in the world (ameri ...
- 三个和数组有关的程序题目(C++)
题目一:有n个整数,使前面各数顺序向后移动m个位置 问题描述: 有n个整数,使前面各数顺序向后移动m个位置,最后m个数变成最前m个数 程序代码: #include<iostream> us ...
- Python中scatter函数参数用法详解
1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如下: 4.基本的使用方法如下: #导入必要的模块 import numpy as np import matp ...
- iOS开发-CoreMotion框架(加速计和陀螺仪)
CoreMotion是一个专门处理Motion的框架,其中包含了两个部分加速度计和陀螺仪,在iOS4之前加速度计是由UIAccelerometer类来负责采集数据,现在一般都是用CoreMotion来 ...
- mybatis 针对SQL Server 的 主键id生成策略
SQL Server中命令: select newId() ,可以得到SQL server数据库原生的UUID值,因此我们可以将这条指令写到 Mybatis的主键生成策略配置selectKey中. ...