前言:掌握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删除,这里上传一个改好可以直接使用的。
《Apache Commons BeanUtils详解》 Apache Commons BeanUtils是Apache软件基金会的一个开源项目,它提供了一组实用工具类,用于简化JavaBean对象的操作。这个库的核心是`org.apache.commons.beanutils`包,其中包含...
在给定的压缩包文件中,包含了两个版本的Apache Commons BeanUtils库:`commons-beanutils-1.8.0`和`commons-beanutils-1.8.3`。 Apache Commons BeanUtils的核心功能包括: 1. **属性访问**:BeanUtils提供了一...
本人曾经花费很多积分在各处下载的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)
在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目中集成和应用。 Apache Commons BeanUtils库的主要目标是简化JavaBean对象的属性访问。它通过提供一系列静态...
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
Apache Commons 是一个由 Apache 软件基金会维护的开源项目集合,它提供了许多实用的 Java 类库,旨在简化常见的编程任务。...学习和掌握 Apache Commons 中的各个组件,对于提升 Java 开发者的生产力非常有帮助。
配置服务端所需要的jar文件,包括commons-logging commons-beanutils commons-lang ezmorph json-lib-2.4-jdk15 commons-collections-3.2.1。
1. **Apache Commons BeanUtils** - `commons-beanutils-1.9.3.jar` Apache Commons BeanUtils库是用于处理JavaBeans的工具类库。它提供了一种简单的方式来操纵JavaBean属性,无需直接调用getter和setter方法。这个...
包括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 ...
此为BeanUtils的实例。其中apache的包有一个小的BUG已在其中说明。
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
commons-beanutils, Apache Commons Beanutils的镜像 Apache Commons BeanUtils Apache Commons BeanUtils提供了一个 easy-to-use,但它围绕反射。文档更多信息可以在公共BeanUtils主页上找到。 可以浏览 JavaDoc插
`commons-beanutils-1.9.3-sources.jar`则是源代码包,它包含了BeanUtils库的完整源代码,这对于开发者进行调试、学习和自定义扩展非常有用。通过查看源代码,可以深入理解内部的工作机制,以及如何有效地利用这些...
Apache Commons是一个非常有用的工具包,解决各种实际的通用问题。(附件中提供了该工具包的jar包,及源文件以供研究) BeanUtils Commons-BeanUtils 提供对 Java 反射和自省API的包装 Betwixt Betwixt提供将 ...
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.0-bin commons-configuration-1.10-bin...