10.内省以及对javabean进行操作
2011-06-13 20:34
197 查看
内省以及对javabean进行操作
1.了解javabean
JavaBean 是一种J***A语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。
概述
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。 JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。
发展
最初,JavaBean的目的是为了将可以重复使用的软件代码打包标准。特别是用于帮助厂家开发在综合开发环境(IDE)下使用的java软件部件。这些包括如Grid控件,用户可以将该部件拖放到开发环境中。从此,JavaBean就可以扩展为一个java web 应用的标准部件,并且JavaBean部件框架已经扩展为企业版的 Bean(EJB)
需求
JavaBean是java类,属于某些特定的译码指导方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。通过这些,JavaBean类可以用于下列方法:
1. 在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。
2. 在 Remote Method Invocation(RMI) 的分布式风格中,这项功能听起来并不让人兴奋,但是在未来的包含企业版的JavaBean后,将改变这种情况。
3. 为了JavaBean的属性值和状态可以保存到磁盘上。 这里说的有些简单,如果想了解更多的东西,可以查阅一些资料
2.对javabean的简单内省操作
建立一个javabean,里面有x属性,通过内省方法获取x的值,并通过内省方式设置x的值
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-31552.png)
接下来介绍一个Eclipse的小技巧,如果我们想把我们刚才写的代码抽离出来作为一个方法来调用,怎么做呢,看截图:
(1)选中要抽取的代码块
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-16771.png)
(2)点击右键 refactor重构---ExtractMethod扩展成为方法
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-24578.png)
3.弹出对话框,给这个方法起个名字
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-23968.png)
4.然后,我们看效果图
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-4770.png)
3.对javabean的复杂内省操作
在这之前,张孝祥老师也不知道有这样一种简单的内省操作,张老师使用的是一种复杂的方式,在这里也做一下介绍
需要用到这样一个接口类型
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-32382.png)
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-7414.png)
4.使用BeanUtils包对javabean进行操作
BeanUtil包是由阿帕奇公司的开源勇士编写的一个用来操作javabean的包,我们需要下载下来这个包,另外加一个日志包。下载下来后有三个包,把最大的那个包导入到build path当中就可以了。看截图:
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-21333.png)
然后我们就可以使用这个包的类对javabean进行操作了,首先我们先做,获取javabean中x属性的值:
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-4879.png)
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-8909.png)
现在我们在这个javabean中创建了一个Date类型的属性birthday,我们从API可以找到Date类型有一个setTime()方法,所以我们可以把Date这个类当作一个javabean来操作,我们可以这么写:
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-24707.png)
另外,我们再介绍另外一个类,PropertyUtils,这个类和BeanUtils类相似,有一点区别;
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-4994.png)
在给r1的属性x设置值的时候所传递的必须和javabean中定义的x的类型保持一致,javabean中的x的类型是Integer.class 所以传递过去的必须是111,但是这个在BeanUtils包,就不需要考虑这么多,不论是传递过去什么,它都会当作String类型传递过去,然后自动的进行类型转换。(但也有误差,偶尔也有可能转换失败)
假设你想自己进行类型转换的话就可以使用PropertyUtils,如果你想让它自己来进行转换,就是用BeanUtils类
1.了解javabean
JavaBean 是一种J***A语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性。众所周知,属性名称符合这种模式,其他Java 类可以通过自身机制发现和操作这些JavaBean 属性。
概述
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、applet程序或者应用来使用这些对象。用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。 JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。
发展
最初,JavaBean的目的是为了将可以重复使用的软件代码打包标准。特别是用于帮助厂家开发在综合开发环境(IDE)下使用的java软件部件。这些包括如Grid控件,用户可以将该部件拖放到开发环境中。从此,JavaBean就可以扩展为一个java web 应用的标准部件,并且JavaBean部件框架已经扩展为企业版的 Bean(EJB)
需求
JavaBean是java类,属于某些特定的译码指导方针,并且扩展了适应性和范围,允许用户访问内部的属性和方法。通过这些,JavaBean类可以用于下列方法:
1. 在IDE中,JavaBean的功能允许应用开发者浏览其中的方法,即使JavaBean是被编译的,并且无法利用原始的源文件。
2. 在 Remote Method Invocation(RMI) 的分布式风格中,这项功能听起来并不让人兴奋,但是在未来的包含企业版的JavaBean后,将改变这种情况。
3. 为了JavaBean的属性值和状态可以保存到磁盘上。 这里说的有些简单,如果想了解更多的东西,可以查阅一些资料
2.对javabean的简单内省操作
建立一个javabean,里面有x属性,通过内省方法获取x的值,并通过内省方式设置x的值
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-31552.png)
接下来介绍一个Eclipse的小技巧,如果我们想把我们刚才写的代码抽离出来作为一个方法来调用,怎么做呢,看截图:
(1)选中要抽取的代码块
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-16771.png)
(2)点击右键 refactor重构---ExtractMethod扩展成为方法
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-24578.png)
3.弹出对话框,给这个方法起个名字
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-23968.png)
4.然后,我们看效果图
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-4770.png)
3.对javabean的复杂内省操作
在这之前,张孝祥老师也不知道有这样一种简单的内省操作,张老师使用的是一种复杂的方式,在这里也做一下介绍
需要用到这样一个接口类型
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-32382.png)
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-7414.png)
4.使用BeanUtils包对javabean进行操作
BeanUtil包是由阿帕奇公司的开源勇士编写的一个用来操作javabean的包,我们需要下载下来这个包,另外加一个日志包。下载下来后有三个包,把最大的那个包导入到build path当中就可以了。看截图:
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-21333.png)
然后我们就可以使用这个包的类对javabean进行操作了,首先我们先做,获取javabean中x属性的值:
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-4879.png)
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-8909.png)
现在我们在这个javabean中创建了一个Date类型的属性birthday,我们从API可以找到Date类型有一个setTime()方法,所以我们可以把Date这个类当作一个javabean来操作,我们可以这么写:
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-24707.png)
另外,我们再介绍另外一个类,PropertyUtils,这个类和BeanUtils类相似,有一点区别;
![](file:///C:/Users/吕鹏/AppData/Local/Temp/ksohtml/wps_clip_image-4994.png)
在给r1的属性x设置值的时候所传递的必须和javabean中定义的x的类型保持一致,javabean中的x的类型是Integer.class 所以传递过去的必须是111,但是这个在BeanUtils包,就不需要考虑这么多,不论是传递过去什么,它都会当作String类型传递过去,然后自动的进行类型转换。(但也有误差,偶尔也有可能转换失败)
假设你想自己进行类型转换的话就可以使用PropertyUtils,如果你想让它自己来进行转换,就是用BeanUtils类
相关文章推荐
- JavaBean的简单内省操作 以及复杂内省操作
- JavaBean的简单内省操作 以及复杂内省操作
- JavaBean的简单内省操作 以及复杂内省操作
- 利用BeanUtils与PropertyUtils进行javabean的内省操作
- 内省(IntroSpector)机制---对JavaBean进行操作
- JavaBean_重构_内省操作
- ASP.NET MVC 环境下CKeditor 的配置以及用jQuery进行数据存取操作
- JSTL学习笔记1-----操作javabean以及属性
- oracle对表进行增删查改的操作,以及对用户的一些简单的操作
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- javabean以及内省技术详解
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- 对对象进行序列化以及反序列化操作
- Qt编译mysql以及创建表后进行导入操作
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- 使用内省方式操作JavaBean
- javabean以及内省技术详解(转)
- Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
- 使用C#对Excel进行读写操作(NPOI)以及使用EF对Mysql进行CURD
- 1.请使用sun 内省api得到某一个bean的所有属性,并操作bean的其中一个属性(给属性赋值,以及得到属性的值) 。