前言:掌握apache的commons的常用的工具后,你会发现开发起来顺手多了...
一.框架介绍
beanutils主要用来处理java bean 开发包,提供java反射和API自省的包装。
二.使用场景
对表单的处理,jdbc后的数据
三.运用
1.属性值读取,写入
- PropertyUtils.getSimpleProperty(Object bean, String name)
- PropertyUtils.setSimpleProperty(Object bean, String name, Object value)
但我更喜欢Ognl...方便.简单,支持复杂的结构(当然beanutils也支持,但没有Ognl方便...)
Ognl.setValue( String expression, Object root, Object value)
Ognl.getValue( String expression, Object root)
2. 包装ResultSet 对象--包装jdbc的返回类型对象
ResultSetDynaClass(ResultSet rs).iterator()
RowSetDynaClass(ResultSet rs).getRows()
大多的时候我们使用RowSetDynaClass,因为使用ResultSetDynaClass的时候,必须保持ResultSet没有close()
ResultSet rs = stmt.executeQuery ("select account_id, name from customers");
Iterator rows = (new ResultSetDynaClass(rs)).iterator();
List rows=(new (RowSetDynaClass(rs)).getRows();
3. 将一个bean包装成一个dynabean,便于使用
MyBean bean = ...;
DynaBean wrapper = new WrapDynaBean(bean);
String firstName = wrapper.get("firstName");
dynabean是一种动态的Bean,他的使用非常像Map的操作
DynaBean car = new LazyDynaBean();
car.set("carNo",1);
car.set("owner","张三"); out.print(car.get("carNo"));
Lazy DynaBeans很强大,可以减除非常VO,formBean的带来的麻烦
- 1. LazyDynaBean - A Lazy DynaBean
- 2. LazyDynaMap - A light weight DynaBean facade to a Map with lazy map/list processing
- 3. LazyDynaList - A lazy list for DynaBean's,
java.util.Map
's or POJO beans.
- 4. LazyDynaClass - A MutableDynaClass implementation.
4.数据类型转化
BeanUtils.populate(bean, map); //将Map中的数据,填入到bean中..强大吧..
ConvertUtils.convert("2010-4-30",Date.class); //转化为时间类
ConvertUtils.convert("20.02",Double.class); //转化为double
当然你也可以自己定义转化的方法
ConvertUtils.register(new Converter(){
@Override
public Object convert(Class type, Object value) {
// TODO Auto-generated method stub
return null;
}
}, Date.class);
5.对collection集合进行操作
批量更改:
// create the closure
BeanPropertyValueChangeClosure closure =
new BeanPropertyValueChangeClosure( "activeEmployee", Boolean.TRUE );
// update the Collection
CollectionUtils.forAllDo( peopleCollection, closure );
查找/过滤:
BeanPropertyValueEqualsPredicate predicate =
new BeanPropertyValueEqualsPredicate( "activeEmployee", Boolean.FALSE );
// filter the Collection
CollectionUtils.filter( peopleCollection, predicate );
转化:
// create the transformer
BeanToPropertyValueTransformer transformer = new BeanToPropertyValueTransformer( "person.address.city" );
// transform the Collection
Collection peoplesCities = CollectionUtils.collect( peopleCollection, transformer );
分享到:
相关推荐
解决办法是把commons-beanutils中的org/apache/commons/collections删除,这里上传一个改好可以直接使用的。
本人曾经花费很多积分在各处下载的jar包,现将所用过得常用jar包打包下载...axis.jar,poi-3.17.jar,mysql-connector-java-5.0.4-bin.jar,java.util学习包,commons-beanutils与commons-logging,apache-cxf-3.2.1 包
httpcomponents-client source ,Document( commons-beanutils commons-io commons-fileupload commons-lang,commons-math,commons-validator,commons-dbutils,commons-dbcp,commons-configuration)
org.apache.commons.beanutils.jar
commons-beanutils-1.8.0 commons-codec commons-collections commons-dbcp commons-dbutils commons-fileupload commons-io commons-lang commons-lang3 commons-logging commons-pool commons-validator
本资料共包含以下附件: commons-beanutils-1.8.0.rar commons-beanutils-1.8.3.rar
配置服务端所需要的jar文件,包括commons-logging commons-beanutils commons-lang ezmorph json-lib-2.4-jdk15 commons-collections-3.2.1。
包括apache-commons的各种jar包及其源码:commons-beanutils-1.8.0,commons-codec-1.4,commons-collections-3.2.1,commons-dbutils-1.3,commons-dbcp-1.4,commons-fileupload-1.2.1,commons-lang-2.5, ...
commons-beanutils-1.8.3-bin.zip commons-betwixt-0.8.zip commons-chain-1.2-bin.zip commons-cli-1.2-bin.zip commons-codec-1.7-bin.zip commons-collections-3.2.1-bin.zip commons-compress-1.4.1-bin.zip ...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
commons-beanutils, Apache Commons Beanutils的镜像 Apache Commons BeanUtils Apache Commons BeanUtils提供了一个 easy-to-use,但它围绕反射。文档更多信息可以在公共BeanUtils主页上找到。 可以浏览 JavaDoc插
此为BeanUtils的实例。其中apache的包有一个小的BUG已在其中说明。
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...
Apache Commons BeanUtils Apache Commons BeanUtils为反射和自省提供了一个易于使用但灵活的包装器。文献资料可以在上找到更多信息。 可以浏览 。 与Apache Commons BeanUtils的用法有关的问题应张贴到。在哪里可以...
离线安装包,亲测可用
离线安装包,亲测可用
BeanUtils工具由Apache软件基金组织编写,提供给我们使用,主要解决的问题是:把对象的属性数据封装到对象中。在整个J2EE的编程过程中,我们经常会从各种配置文件中读取相应的数据,需要明白的一点是从配置文件中...
apache commons jar(commons所有的jar包... apache-sanselan-incubating-0.97-bin bcel-5.2 commons-beanutils-1.9.2-bin commons-chain-1.2-bin commons-cli-1.3.1-bin commons-codec-1.10-bin commons-collections4-4