Java 属性描述器
PropertyDescriptor 是 Java 类库中的一个实用工具类,用于描述 JavaBean 中的属性(Q:Bean 是什么?)。它可以用于获取指定属性的属性描述符,以进行更高级的功能操作,如获取属性的名称、类型、读写方法等。 PropertyDescriptor 提供了两个构造函数:
- 传入属性名称和对象,用于获取指定属性的属性描述符:
public PropertyDescriptor(String propertyName, Class<?> beanClass)
- 传入属性名称、读取方法名称、写入方法名称和对象,用于获取指定属性的属性描述符:
public PropertyDescriptor(String propertyName, Method readMethod, Method writeMethod)
PropertyDescriptor 提供了一些用于操作属性描述符的方法,例如:getPropertyType()
获取属性类型,getReadMethod()
获取读方法,getWriteMethod()
获取写方法等。
属性描述器常用方法:
String getName()
获取属性名称Class<?> getPropertyType()
获取属性类型Method getReadMethod()
获取读取方法Method getWriteMethod()
获取写入方法void setReadMethod(Method readMethod)
设置读取方法void setWriteMethod(Method writeMethod)
设置写入方法void setPropertyEditorClass(Class<?> propertyEditorClass)
设置属性编辑器类PropertyEditor createPropertyEditor(Object object)
创建属性编辑器实例
示例:
public static void main(String[] args) throws IntrospectionException {
PropertyDescriptor propertyDescriptor = new PropertyDescriptor("name",Person.class);
Method readMethod = propertyDescriptor.getReadMethod();
Method writeMethod = propertyDescriptor.getWriteMethod();
Class propertyType = propertyDescriptor.getPropertyType();
System.out.println(propertyType);
System.out.println(readMethod);
System.out.println(writeMethod);
}
输出结果:
readMethod is public java.lang.String reflects.Person.getName()
writeMethod is public void reflects.Person.setName(java.lang.String)
propertyType is class java.lang.String