大神都不在吧。。我就说说我的理解吧。。
反射:一个类有多个组成部分,例如成员变量,方法,构造方法等。反射就是加载类,并解剖出类的各个组成部分。
为什么需要内省?(Introspector)
开发框架时,经常需要使用java对象的属性来封装程序的数据,每次都使用反射技术完成此类操作过于麻烦,所以sun公司开发了一套用于操作JavaBean的API,专门用于操作java对象的属性。
访问JavaBean属性的两种方式:
1、直接调用bean的setXXX或getXXX方法。
2、通过内省技术访问(java.beans包提供了内省的API),内省技术访问也提供了两种方式。
(1)、通过PropertyDescriptor类操作Bean的属性。
(2)、通过Introspector类获得Bean对象的 BeanInfo,然后通过 BeanInfo 来获取属性的描述器( PropertyDescriptor ),通过这个属性描述器就可以获取某个属性对应的 getter/setter 方法,然后通过反射机制来调用这些方法。
|