黑马程序员--javase高级基础 内省引出的javabean
来源:互联网 发布:lnmp一键 安装php扩展 编辑:程序博客网 时间:2024/06/08 05:56
</pre><h2><span style="font-size:18px;"></span><pre name="code" class="java">一.内省
内省的英文单词为IntroSpecter,意思是检查、视察、体检之意,对于程序即对内部进行检查,了解更多的底层细节。
内省的作用重要是针对JavaBean进行操作;
二.JavaBean
1、简述:
1)JavaBean是一种特殊的Java类,主要用于传递数据信息,这种Java类中的方法主要用于访问私有的字段,且方法符合某种特殊的命名规则。
2)它是一种特殊的Java类,其中的方法符合特殊的规则。只要一个类中含有get或is和set打头的方法,就可以将其当做JavaBean使用。
3)字段和属性:
字段就是我们定义的一些成员变量,如private String name;等
JavaBean的属性是根据其中的setter和getter方法来确定的,而不是依据其中的变量,如方法名为setId,则中文意思是设置Id,getId也是如此;去掉set或者get前缀,剩余部分就是属性名称。如果剩余部分的第二个字母小写,则把剩余部分改为小写。如:getAge/setAge-->age;gettime-->time;setTime-->time;getCPU-->CPU。
总之,一个类被当作javaBean使用时,JavaBean的属性是根据方法名推断出来的,它根本看不到java类内部的成员变量。
2、组成:
一个JavaBean由三部分组成:
(1) 属性(properties);
(2) 方法(method);
(3) 时间(event);
3、作用:
如果要在两个模板之间传递多个信息,可将这些信息封装到一个JavaBean中,这种JavaBean的实例对象通常称之为值对象(Value Object,简称VO),这些信息在类中用私有字段来储存,如果读取或设置这些字段的值,则需要通过一些相应的方法来访问。
4、使用JavaBean的好处:
1)在Java EE开发中,经常要使用到JavaBean。很多环境就要求按JavaBean方式进行操作,别人都这么用和要求这么做,那你就没什么挑选的余地!
2)JDK中提供了对JavaBean进行操作的API,这套API称为内省,若要自己通过getX的方式来访问私有x,可用内省这套API,操作JavaBean要比使用普通的方式更方便。
举例:
package cn.itcast.day1;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.io.ObjectInputStream.GetField;import java.lang.reflect.Method;public class IntroSpector {public static void main(String[] args) throws Exception{FieldReflex fr = new FieldReflex(3, 5);String propertyName = "x";//普通内省方法获取xPropertyDescriptor pd = new PropertyDescriptor(propertyName, fr.getClass());//获取getX方法Method methodGetX = pd.getReadMethod();Object retval = methodGetX.invoke(fr);System.out.println(retval);//复杂内省方法设置xBeanInfo beanInfo = Introspector.getBeanInfo(fr.getClass());PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();//在pds集合中迭代获取setX方法并调用for(PropertyDescriptor pd1 : pds){if(pd1.getName().equals(propertyName)){Method methodSetX = pd1.getWriteMethod();methodSetX.invoke(fr, 7);System.out.println(fr.getX());break;}}}}
- 黑马程序员--javase高级基础 内省引出的javabean
- 黑马程序员----JAVASE高级部分之JavaBean与内省
- 黑马程序员—java基础学习--JavaBean的内省操作
- 黑马程序员:Java基础总结----JavaBean 内省
- 黑马程序员--基础加强(内省-javabean)
- 黑马程序员---内省JavaBean
- 黑马程序员---JavaBean & 内省
- 黑马程序员--内省JavaBean
- 黑马程序员-内省,javabean
- 黑马程序员--JavaBean内省
- 黑马程序员-----JavaBean的内省操作
- 黑马程序员-javaBean的简单内省操作
- 29 由内省引出JavaBean的讲解
- 黑马程序员-内省和JavaBean
- 黑马程序员---javaBean & introspector(内省)
- 黑马程序员----内省,了解 javaBean
- 黑马程序员--JavaBean与内省
- 黑马程序员-Java基础加强-内省→了解JavaBean
- 奇偶校验
- hibernate.cfg.xml文件的配置模板和不同数据库的配置参数
- hdu 4734 数位dp
- 关于进制的几道题
- leetcode Multiply Strings
- 黑马程序员--javase高级基础 内省引出的javabean
- Cgi入门教程之:10 email子过程
- UVA 11624.Fire(广搜)
- 遍历Jenkins所有项目的配置
- canada goose parka-714
- LeetCode-Subsets
- Python replace()方法
- UNP卷1:第十四章(高级I/O函数)
- LaTeX完整例子_参考文献、图、表和公式