Java beans技术的核心在于封装Java的反射。
Java反射机制的复杂以及代码的冗长招人诟病已久,所以有了java的内省机制。内省机制是java beans的核心。但是它的对象核心是标准的java bean,也就是传说中的有getter、setter的那种。
内省的英文是Introspector.同样java标准JDK中也有这个类。
这个类的核心静态方法是getBeanInfo。所以Introspector相当于一个反射工具类,将一个类进行分析,分析后的信息存入BeanInfo中。
在BeanInfo中核心方法是获取PropertyDescriptor与MethodDescriptor。虽然这个接口中很多其他的方法,但大多数都是已经过时了的AWT和applet中的东西,对我们价值不大。
PropertyDescriptor
PropertyDescriptor是一个类,其作用是一个容器,保存的是字段信息和get方法、set方法信息。需要注意的是,PropertyDescriptor是支持伪字段的,也就是类里没有这个字段,但是提供了get与set方法。举个例子,有个人叫圆,里面有个字段叫半径,但是有set直径和get直径方法,这样间接地操作半径。也可以只提供get方法和set方法中的一种。