首页 > 代码库 > Java重要技术(13)内省之属性描述符PropertyDescriptor

Java重要技术(13)内省之属性描述符PropertyDescriptor

1.1. 属性描述符(PropertyDescriptor)

可以使用PropertyDescrptor类来访问Java Bean的属性和方法。

 

Object obj;

Class  beanClass = SampleBean.class;

Object value;

PropertyDescriptor  propertyDescriptor;

try {

//创建对象

obj = SampleBean.class.newInstance();

    //访问age属性。

propertyDescriptor = new PropertyDescriptor("age",beanClass );

propertyDescriptor.getWriteMethod().invoke(obj,3);

value = propertyDescriptor.getReadMethod().invoke(obj);

System.out.println("age:" + value);

//访问name属性。

propertyDescriptor = new PropertyDescriptor("name",beanClass );

propertyDescriptor.getWriteMethod().invoke(obj,"zhangsan");

value = propertyDescriptor.getReadMethod().invoke(obj);

System.out.println("name:" + value);

//访问turn属性。

propertyDescriptor = new PropertyDescriptor("turn",beanClass );

propertyDescriptor.getWriteMethod().invoke(obj,true);

value = propertyDescriptor.getReadMethod().invoke(obj);

System.out.println("turn:" + value);

} catch (IntrospectionException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | InstantiationException e) {

e.printStackTrace();

}

 

 

 

 

 

运行结果如下:

age:3

name:zhangsan

turn:true

 

Java重要技术(13)内省之属性描述符PropertyDescriptor