- 浏览: 422170 次
- 性别:
文章分类
最新评论
-
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 1579棒槌网@Android相关文章推荐: rjJ-ZRs\ An ... -
卡刷rom固件update.zip的制作教程
2011-12-29 19:44 19243对于第三方ROM来讲,通常都包括两部分,一个recover ... -
APK反编译利器Apktool下载及用法介绍
2011-12-29 19:40 6508近期在研究rom过程中发现一个非常不错的软件,可以帮助我们把A ... -
Android版本检测\自动更新
2011-11-30 10:39 2749package com.hiyo.game.pdk.tool; ... -
高仿UC半透明MENU菜单(有图有真相)
2011-11-13 15:55 1955转载自:http://www.eoeandroid.com/ ... -
Android启动界面实现
2011-11-13 15:39 6791转载自:http://www.eoeandroid.com/t ... -
获取本机外网IP地址(External IP Address)
2010-12-15 22:45 6782import java.io.IOException; ... -
Red5+OpenOffice+OpenMeetings架设视频会议网络
2009-07-01 09:57 2242因工作需要,这两天弄了一个视频会议服务器。采用了flash流媒 ... -
J2EE or J2SE? JNDI works with both
2009-05-11 16:21 1519J2EE or J2SE? JNDI works with b ... -
脚本启动Java应用程序(Windows/Linux)
2009-05-08 16:40 36901、新建文件夹myapp,放你的应用; 2、将你的程序 ... -
破解Java程序
2007-12-13 17:36 1896第一步是定位,这也是 ... -
WebSphere 应用服务器环境搭建实践指南
2007-08-22 18:20 5221Dan Wu (wdan@cn.ibm.com), 高级信息工 ... -
apache-common功能列表
2007-01-23 15:16 4991... -
Apache Commons工具集简介[转载]
2007-01-21 02:20 5604js 代码 <script ... -
利用servlet生成简单的验证码
2007-01-21 01:47 1615在web.xml配置: 代码 < ... -
实战篇:设计自己的Annotation
2007-01-21 01:44 1378From:http://lighter.iteye.com 第 ... -
JSTL 入门: 表达式语言
2007-01-15 11:23 1409JSP 标准标记库(JSP Stand ... -
extremeTable介绍
2007-01-10 11:14 45891、何为 extremeTable,又一个开源taglib e ... -
ExtremeTable使用指南:Limit指南
2007-01-10 11:08 36201. 引言 在你需要处理大量数据时你应该考虑使用eXtreme ... -
ExtremeTable使用指南:拦截器使用指南
2007-01-10 10:45 20731. 引言 拦截特性被用在运行时需要修改属性值的时候,它使得改 ...
相关推荐
BeanUtils 是 Apache commons组件的成员之一,主要用于简化JavaBean封装数据的操作。它可以给JavaBean封装一个字符串数据,也可以将一个表单提交的所有数据封装到JavaBean中。使用第三方工具,需要导入jar包:
Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为开发者提供了大量便捷的JavaBean操作功能。在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目...
《Apache Commons BeanUtils 1.8.0:深入解析与应用》 Apache Commons BeanUtils库是Java开发中不可或缺的一部分,尤其对于那些频繁处理JavaBeans属性的开发者来说。它提供了便捷的方式来操作Java对象的属性,极大...
总结来说,Apache Commons BeanUtils是Java开发中的重要工具,通过深入研究其源码,我们可以了解到JavaBean模式的实现细节,以及如何利用反射和类型转换来增强代码的灵活性。同时,源码中的设计模式和异常处理策略也...
Apache Commons BeanUtils 1.8.3 是一个强大的Java库,专为简化Java Bean操作而设计。这个API提供了大量的实用工具方法,使得开发者能够更加便捷地处理Java对象,特别是那些符合Java Bean规范的对象。在Java编程中,...
赠送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; ...
3. **反射机制的运用**:深入`java.lang.reflect`包,研究BeanUtils如何利用`Field`、`Method`和`Constructor`等反射类来操作JavaBean。 4. **异常处理机制**:查看BeanUtils如何捕获和处理异常,以及在什么情况下...
Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于处理JavaBeans对象,简化对JavaBean属性的操作。这个库提供了一套方便的API,使得开发者可以通过简单的API调用来获取、设置JavaBean的属性,甚至...
Apache BeanUtils库是Java开发中的一个关键工具,它在标题"beanutils-1.8.3开发包"中被提及,表明这是一个针对该版本的BeanUtils的完整开发资源集合。这个包提供了对JavaBeans属性操作的强大支持,简化了对象属性的...
Apache Commons BeanUtils是Java开发中一个非常实用的工具库,主要功能是简化JavaBean对象的操作。这个"beanutils的jar包"是1.93版本,它包含了对bean操作的各种方法,同时也集成了log包,方便开发者进行日志记录,...
总的来说,"commons-beanutils-1.8.2-src"官方源文件包是学习Java Bean操作的宝贵资源,通过研究源代码,开发者不仅可以掌握BeanUtils的使用,还能进一步提升对Java反射和类型转换的理解,从而提高开发效率和代码...
《Apache Commons BeanUtils:构建网络框架的利器》 在Java编程领域,Apache Commons BeanUtils库是一个不可或缺的工具,尤其在构建网络框架时更是扮演着重要角色。BeanUtils库是Apache软件基金会开发的一个开源...
BeanUtils工具是一种方便我们对JavaBean进行操作的工具,是Apache组织下的产品。beanUtils 可以便于对javaBean的属性、对象进行赋值,beanUtils可以将一个MAP集合的数据拷贝到一个javabean对象中。
《BeanUtils:JavaBean操作利器》 在Java开发中,我们常常需要对JavaBean对象进行各种操作,如属性的设置、获取以及复制等。Apache Commons BeanUtils库正是为了解决这些问题而诞生的,它提供了简单易用的API,极大...
BeanUtils是Apache Commons项目中的一个核心库,主要提供了一组工具方法来简化Java Bean的操纵。这个1.8版本的jar包和源码是开发者在处理Java对象属性时的得力助手,尤其对于那些需要频繁进行对象属性设置和获取的...
BeanUtils_1.8.3最新帮助文档,希望对给位有用。。。
Apache Commons BeanUtils是Java开发中的一个实用工具库,它提供了对JavaBeans进行操作的便捷方法。这个库的主要目的是简化对对象属性的访问,使得开发者能够更高效地处理对象的属性设置和获取,而无需手动编写大量...
《BeanUtils-jar包:JavaBean操作的利器》 在Java开发中,BeanUtils-jar包扮演着重要的角色,它是Apache Commons项目中的一个模块,主要为开发者提供了方便、高效的JavaBean操作工具。这个jar包的核心功能是简化了...
Apache Commons BeanUtils是Java开发中的一个实用库,它提供了对JavaBeans属性的简便操作。这个库简化了在对象之间复制属性、处理集合以及调用JavaBean方法的过程。在这个"commons-beanutils-1.9.4.jar.zip"压缩包中...