黑马程序员_基础加强_JavaBean与内省

时间:2022-10-11 00:41:11

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

使用JavaBean的好处:

1,在JavaEE开发中,经常要使用到JavaBean。很多环境都要求按javaBean方式进行操作,别人都这么做,我们也就得跟着这么做。

2,JDK中提供了对JavaBean进行操作的一些API,这套API就称为内省。如果要自己去通过getX方法来访问私有的x,有一定难度,用内省这套API操作JavaBean比用普通类的方式更方便。

Age——>如果第二个字母是小的,则把第一个字母变成小的——>age

例如:

gettime——>time

setTime——>time

getCPU——>CPU

内省:javaBean处理的一种方法,开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术来完成此类操作过于麻烦,所以sun公司开发了一套API,专门用于操作java对象的属性。

JavaBean Bean表示一个用于描述事物的,围绕字段设置get/set方法的类,这样的字段称之为属性。属性由get/set方法决定,有这些方法就有这些属性。子类可以继承父类的属性。

Introspector:JavaBean包中,有根据属性名称,对象.getClass()  来获取get,set属性方法的对象

//例如:
PropertyDescriptor pd = mew PropertyDescriptor(属性名,对象,getClass());
method xxx = pd.getReadMethod();
Object retVal = xxx.invoke(对象,是否需要传入参数);


  功能:

BeanInfo getBeanInfo(Class<?> beanClass) Java Bean 上进行内省,了解其所有属性、公开的方法和事件。

getBeanInfo(Class<?> beanClass, Class<?> stopClass): 在给定的点之下,在 Java Bean 上进行内省,了解其所有属性和公开的方法。


BeanInfo接口:封装Bean属性的类,可以导出单个属性,通过属性描述器(PropertyDescriptor)进行处理。

功能:

        PropertyDescriptor[] getPropertyDescriptors()获得 beans PropertyDescriptor

PropertyDescriptor类:属性描述器,描述 Java Bean 通过一对存储器方法导出的一个属性。

构造方法:

PropertyDescriptor(String propertyName, Class<?> beanClass):通过调用 getFoo  setFoo 存取方法,为符合标准 Java 约定的属性构造一个 PropertyDescriptor

|---功能:

getPropertyType()获得属性的 Class 对象。

Method  getReadMethod()获得应该用于读取属性值的方法。

Method  getWriteMethod()获得应该用于写入属性值的方法。

setReadMethod(Method readMethod)设置应该用于读取属性值的方法。

setWriteMethod(Method writeMethod)设置应该用于写入属性值的方法。

---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------