A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 党传才 中级黑马   /  2012-6-25 17:55  /  2029 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么设置javabean未知属性的默认值

2 个回复

倒序浏览
本帖最后由 周兴中 于 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, 参数);  //通过方法设置其值.        

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

回复 使用道具 举报
在程序中调用IntroSpector.getBeanInfo方法,得到的BeanInfo对象封装了JavaBean的结果信息。采用遍历BeanInfo的所属性方式来查找和设置某个refectPoint对象的未知属性。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马