9.1 用内省的方式反射JavaBean

p { margin-bottom: 0.21cm; }

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

 

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

public class IntroSpectorTest {

public static void main(String[] args) throws Exception {

 

// 实例化一个 JavaBean 对象

ReflectPoint p1 = new ReflectPoint(3, 5);

String propertyName = "x" ;

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

PropertyDescriptor pd = getProerty (p1, propertyName);

 

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

Method methodSetX = pd.getWriteMethod();

// 给对像 set 一个值进去

methodSetX.invoke(p1, 7);

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

}

 

private static PropertyDescriptor getProerty(Object p1,

String propertyName) throws IntrospectionException,

IllegalAccessException, InvocationTargetException {

PropertyDescriptor pd = new PropertyDescriptor(propertyName, p1

.getClass());

Method methodGetX = pd .getReadMethod();

Object retVal = methodGetX.invoke(p1);

System. out .println(retVal);

return pd ;

}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值