- 浏览: 417571 次
- 性别:
文章分类
最新评论
-
wrw_ahut:
你这个怎么停下来?怎么跳转activity
Android启动界面实现 -
huiqoo:
高仿UC半透明MENU菜单(有图有真相) -
wenzhixin:
多谢分享~
Android启动界面实现 -
orange9711:
学习学习
Android启动界面实现 -
qinweiping:
问下楼主 好像这个反编译 只能看到程序的主体结构吧 还是和源程 ...
APK反编译利器Apktool下载及用法介绍
Beanutils用了魔术般的反射技术,实现了很多夸张有用的功能,都是C/C++时代不敢想的。无论谁的项目,始终一天都会用得上它。我算是后知后觉了,第一回看到它的时候居然错过。
1.属性的动态getter,setter
在这框架满天飞的年代,不能事事都保证执行getter,setter函数了,有时候属性是要需要根据名字动态的取得的,就像这样:
BeanUtils.getProperty(myBean,"code");而BeanUtils更强的功能是直接访问内嵌对象的属性,只要使用逗号分割。
BeanUtils.getProperty(orderBean, "address.city");
其他类库的BeanUtils通常都很简单,不能访问内嵌的对象,所以经常要用Jakata的BeanUtils替换它们。
BeanUtils还支持List和Map类型的属性。如下面的语法即可取得顾客列表中第一个顾客的名字
BeanUtils.getProperty(orderBean, "customers[1].name");
其中BeanUtils会使用ConvertUtils类把字符串转为Bean属性的真正类型,方便从HttpServletRequest等对象中提取bean,或者把bean输出到页面。
而PropertyUtils就会原色的保留Bean原来的类型。
2.beanCompartor 动态排序
还是通过反射,动态设定Bean按照哪个属性来排序,而不再需要在bean的Compare接口进行复杂的条件判断。 List peoples = ...; // Person对象的列表 Collections.sort(peoples, new BeanComparator("age")); }}} 如果要支持多个属性的复合排序,如"Order By lastName,firstName"
其中ComparatorChain属于jakata commons-collections包。 经常要从request,resultSet等对象取出值来赋入bean中,下面的代码谁都写腻了,如果不用MVC框架的绑定功能的话。 不妨改为 其中BeanUtils的populate方法或者getProperty,setProperty方法其实都会调用convert进行转换。 或者 4.2 PropertyUtils,获取属性的Class类型
ArrayList sortFields = new ArrayList(); sortFields.add(new BeanComparator("lastName")); sortFields.add(new BeanComparator("firstName")); ComparatorChain multiSort = new ComparatorChain(sortFields); Collections.sort(rows,multiSort);其中ComparatorChain属于jakata commons-collections包。
如果age属性不是普通类型,构造函数需要再传入一个comparator对象为age变量排序。
3.Converter 把Request中的字符串转为实际类型对象
经常要从request,resultSet等对象取出值来赋入bean中,下面的代码谁都写腻了,如果不用MVC框架的绑定功能的话。String a = request.getParameter("a"); bean.setA(a); String b = ....不妨改为
MyBean bean = ...; HashMap map = new HashMap(); Enumeration names = request.getParameterNames(); while (names.hasMoreElements()) { String name = (String) names.nextElement(); map.put(name, request.getParameterValues(name)); } BeanUtils.populate(bean, map);其中BeanUtils的populate方法或者getProperty,setProperty方法其实都会调用convert进行转换。
但Converter只支持一些基本的类型,甚至连java.util.Date类型也不支持。而且它比较笨的一个地方是当遇到不认识的类型时,居然会抛出异常来。
对于Date类型,我参考它的sqldate类型实现了一个Converter,而且添加了一个设置日期格式的函数。要把这个Converter注册,需要如下语句:
ConvertUtilsBean convertUtils = new ConvertUtilsBean(); DateConverter dateConverter = new DateConverter(); convertUtils.register(dateConverter,Date.class); //因为要注册converter,所以不能再使用BeanUtils的静态方法了,必须创建BeanUtilsBean实例 BeanUtilsBean beanUtils = new BeanUtilsBean(convertUtils,new PropertyUtilsBean()); beanUtils.setProperty(bean, name, value); !4 其他功能 4.1 PropertyUtils,当属性为Collection,Map时的动态读取: Collection: 提供index {{{ BeanUtils.getIndexedProperty(orderBean,"items",1);或者
BeanUtils.getIndexedProperty(orderBean,"items[1]");
Map: 提供Key Value
BeanUtils.getMappedProperty(orderBean, "items","111");//key-value goods_no=111
或者
BeanUtils.getMappedProperty(orderBean, "items(111)");4.2 PropertyUtils,获取属性的Class类型
public static Class getPropertyType(Object bean, String name)
4.3 ConstructorUtils,动态创建对象
public static Object invokeConstructor(Class klass, Object arg)
4.4 DynaClass动态类
发表评论
-
Android Launcher一些资源
2012-01-10 16:03 1519棒槌网@Android相关文章推荐: rjJ-ZRs\ An ... -
卡刷rom固件update.zip的制作教程
2011-12-29 19:44 19113对于第三方ROM来讲,通常都包括两部分,一个recover ... -
APK反编译利器Apktool下载及用法介绍
2011-12-29 19:40 6473近期在研究rom过程中发现一个非常不错的软件,可以帮助我们把A ... -
Android版本检测\自动更新
2011-11-30 10:39 2714package com.hiyo.game.pdk.tool; ... -
高仿UC半透明MENU菜单(有图有真相)
2011-11-13 15:55 1918转载自:http://www.eoeandroid.com/ ... -
Android启动界面实现
2011-11-13 15:39 6741转载自:http://www.eoeandroid.com/t ... -
获取本机外网IP地址(External IP Address)
2010-12-15 22:45 6708import java.io.IOException; ... -
Red5+OpenOffice+OpenMeetings架设视频会议网络
2009-07-01 09:57 2206因工作需要,这两天弄了一个视频会议服务器。采用了flash流媒 ... -
J2EE or J2SE? JNDI works with both
2009-05-11 16:21 1482J2EE or J2SE? JNDI works with b ... -
脚本启动Java应用程序(Windows/Linux)
2009-05-08 16:40 36471、新建文件夹myapp,放你的应用; 2、将你的程序 ... -
破解Java程序
2007-12-13 17:36 1860第一步是定位,这也是 ... -
WebSphere 应用服务器环境搭建实践指南
2007-08-22 18:20 5186Dan Wu (wdan@cn.ibm.com), 高级信息工 ... -
apache-common功能列表
2007-01-23 15:16 4956... -
Apache Commons工具集简介[转载]
2007-01-21 02:20 5563js 代码 <script ... -
利用servlet生成简单的验证码
2007-01-21 01:47 1579在web.xml配置: 代码 < ... -
实战篇:设计自己的Annotation
2007-01-21 01:44 1330From:http://lighter.iteye.com 第 ... -
JSTL 入门: 表达式语言
2007-01-15 11:23 1380JSP 标准标记库(JSP Stand ... -
extremeTable介绍
2007-01-10 11:14 45371、何为 extremeTable,又一个开源taglib e ... -
ExtremeTable使用指南:Limit指南
2007-01-10 11:08 35441. 引言 在你需要处理大量数据时你应该考虑使用eXtreme ... -
ExtremeTable使用指南:拦截器使用指南
2007-01-10 10:45 20411. 引言 拦截特性被用在运行时需要修改属性值的时候,它使得改 ...
相关推荐
BeanUtils 是 Apache commons组件的成员之一,主要用于简化JavaBean封装数据的操作。它可以给JavaBean封装一个字符串数据,也可以将一个表单提交的所有数据封装到JavaBean中。使用第三方工具,需要导入jar包:
BeanUtils工具是一种方便我们对JavaBean进行操作的工具,是Apache组织下的产品。beanUtils 可以便于对javaBean的属性、对象进行赋值,beanUtils可以将一个MAP集合的数据拷贝到一个javabean对象中。
BeanUtils教程BeanUtils教程BeanUtils教程BeanUtils教程BeanUtils教程BeanUtils教程
赠送jar包:commons-beanutils-1.9.4.jar; 赠送原API文档:commons-beanutils-1.9.4-javadoc.jar; 赠送源代码:commons-beanutils-1.9.4-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.9.4.pom; ...
BeanUtils工具由Apache软件基金组织编写,提供给我们使用,主要解决的问题是:把对象的属性数据封装到对象中。在整个J2EE的编程过程中,我们经常会从各种配置文件中读取相应的数据,需要明白的一点是从配置文件中...
BeanUtils_1.8.3最新帮助文档,希望对给位有用。。。
commons-beanutils-1.8.0.jar beanutils.jar beanutils.jar工具包
版本:commons-beanutils-1.6.0 代码值得研究与借鉴,非常不错
赠送jar包:commons-beanutils-1.9.4.jar; 赠送原API文档:commons-beanutils-1.9.4-javadoc.jar; 赠送源代码:commons-beanutils-1.9.4-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.9.4.pom; ...
BeanUtils的包BeanUtils的包BeanUtils的包BeanUtils的包BeanUtils的包BeanUtils的包BeanUtils的包BeanUtils的包BeanUtils的包
BeanUtils用法
Commons-beanutils jar包,比较新希望对大家能有帮助
commons-beanutils-1.8.0 jar包: 1.commons-beanutils-1.8.0.jar 2.commons-beanutils-1.8.0-javadoc.jar 3.commons-beanutils-1.8.0-sources.jar 4.commons-beanutils-bean-collections-1.8.0.jar 5.commons-...
Commons-beanutil中包含大量和JavaBean操作有关的工具方法,使用beanutils可轻松利用Java反射机制来完成所需功能,而不需要详细研究反射的原理和使用,同时beanutils类库中提出了动态Bean的概念,可在运行时动态对...
完美beanUtils 1.8 jar包与源码
BeanUtils是由Apache公司开发的针对操作JavaBean的工具包。 对于JavaBean,简单的来说,就是要有一个空参的构造器和对属性的getXXX方法和setXXX方法。 在由JDK提供的默认的API中,有java.beans包,里面有诸如...
BeanUtils工具 .jar 包使用很简单 可以参考博客java学习笔记——javaweb之BeanUtils、EL、JSTL
此为BeanUtils的实例。其中apache的包有一个小的BUG已在其中说明。
BeanUtils的jar包
commons-beanutils-1.9.2