9.1 用内省的方式反射JavaBean

来源:互联网 发布:国产篮球鞋知乎 编辑:程序博客网 时间:2024/06/18 04:48

p { margin-bottom: 0.21cm; }

用内省的方式做JavaBean的反射可以有省去很多步骤

 

下面是获得一个JavaBeanset属性和get属性的方法

publicclassIntroSpectorTest {

publicstaticvoidmain(String[] args) throwsException {

 

//实例化一个JavaBean对象

ReflectPointp1 = newReflectPoint(3, 5);

StringpropertyName = "x";

//属性描述器装某个对象中的某个属性

PropertyDescriptorpd = getProerty(p1,propertyName);

 

//set一个值 pd.getWriteMethod()得到某个属性的set方法

MethodmethodSetX = pd.getWriteMethod();

//给对像set一个值进去

methodSetX.invoke(p1,7);

System.out.println(p1.getX());

}

 

privatestaticPropertyDescriptor getProerty(Object p1,

StringpropertyName) throwsIntrospectionException,

IllegalAccessException,InvocationTargetException {

PropertyDescriptorpd= newPropertyDescriptor(propertyName, p1

.getClass());

MethodmethodGetX = pd.getReadMethod();

ObjectretVal = methodGetX.invoke(p1);

System.out.println(retVal);

returnpd;

}

}

 

原创粉丝点击