您的位置:首页 > 编程语言 > Java开发

JavaBean的复杂内省操作

2013-08-05 16:46 423 查看
public static void main(String[] args) throws Exception {

  ReflectPoint reflect = new ReflectPoint(3, 5);

  String propertyName = "x";

  PropertyDescriptor propertyDescript = new PropertyDescriptor(propertyName, reflect.getClass());

   //获得get方法

  Method methodGet = getProperty(reflect, propertyName);

  Object retval = methodGet.invoke(reflect);

  System.out.println(retval);

  //获得set方法

  Method methodWrite= propertyDescript.getWriteMethod();

  methodWrite.invoke(reflect,7);

  System.out.println(methodGet.invoke(reflect));

 }

 

BeanUtil 工具使用

要用的jar包:

commons-beanutils

commons-logging

使用:

 BeanUtils.setProperty(reflect, "x", "9");

  System.out.println(BeanUtils.getProperty(reflect, propertyName)); 

  //它们之间的差别BeanUtils传递参数类型是String类型,而PropertyUtils传递参数类型是和java类里的类型相同可以作用于Map里

  PropertyUtils.setProperty(reflect, "x", 11);

  System.out.println(PropertyUtils.getProperty(reflect, propertyName));

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  内省操作