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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

Java重要技术(12)内省之JavaBean

内省及反射属性复制案例

Java反射与内省

JavaWeb_内省(Instrospector)

内省之IntrospectorBeanInfoPropertyDescriptor

反射,内省,BeanUtil的区别