黑马程序员技术交流社区

标题: 怎么设置javabean未知属性的默认值 [打印本页]

作者: 党传才    时间: 2012-6-25 17:55
标题: 怎么设置javabean未知属性的默认值
怎么设置javabean未知属性的默认值
作者: 周兴中    时间: 2012-6-25 23:26
本帖最后由 周兴中 于 2012-6-25 23:30 编辑

可以通过遍历BeanInfo的所有属性查看未知的属性,并用反射的方法设置其值得,示例如下:
  1.                    User user = new User();//测试对象,其中属性均为私有
  2.                 BeanInfo beaninfo = Introspector.getBeanInfo(user.getClass());
  3.                 PropertyDescriptor[] pds = beaninfo.getPropertyDescriptors();//获取所有属性
  4.                 for(PropertyDescriptor pd : pds){
  5.                         System.out.println(pd.getName()+"--"+pd.getPropertyType());
  6.                         
  7.                 }
复制代码
通过此方法,你可以看到该User对象所有的属性的名称和类型.再通过以下方法设置其值
  PropertyDescriptor pd1 = new   PropertyDescriptor(属性名称, obj.getClass())   ;//通过属性名获取属性.
Method methodSetX = pd1.getWriteMethod();//通过属性获取set方法
methodSetX.invoke(obj, 参数);  //通过方法设置其值.        

作者: 吴林军    时间: 2012-6-25 23:45
在程序中调用IntroSpector.getBeanInfo方法,得到的BeanInfo对象封装了JavaBean的结果信息。采用遍历BeanInfo的所属性方式来查找和设置某个refectPoint对象的未知属性。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2