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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 伊廷文 中级黑马   /  2013-4-29 21:09  /  1197 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

内省是不是javaBean啊

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

4 个回复

倒序浏览
巧啊楼主,我正在看内省呢,虽然还没看完,不过内省不是javabean,说是用来操作javabean的

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
好了,我看到了,对于JavaBean,jdk提供了一套操作API,这就是内省
回复 使用道具 举报
5、IntroSpector 内省

IntrosPector 是用来操作JavaBean类的;
所谓的javabean类其实是一个特殊的java类含有get和set方法的类。
三种方法:
1、使用PropertyDescriptor 属性描述符
PropertyDescriptor pd = new PropertyDescriptor(String propertyName,Class BeanClass);
getX()
Method getMethod = pd.getReadMethod();
set(类型  对象);
Method setMethod = pd.getWriteMethod();
2、使用Introspector  内省
BeanInfo beanInfo = Introspector.getBeanInfo(字节码比如:ReflectPoint.class);
再得到所有的属性描述符
PropertyDescriptor [] pds = beanInfo.getPropertyDescriptors();
然后可以进行迭代获得每个字段的值(使用get方法或使用set方法修改)
3、直接使用BeanUtils类(静态方法)
BeanUtils.setProperty(,,);
BeanUtils.getProperty();

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马