黑马程序员技术交流社区

标题: 内省是不是javaBean啊 [打印本页]

作者: 伊廷文    时间: 2013-4-29 21:09
标题: 内省是不是javaBean啊
内省是不是javaBean啊
作者: cowthan    时间: 2013-4-29 21:32
巧啊楼主,我正在看内省呢,虽然还没看完,不过内省不是javabean,说是用来操作javabean的
作者: cowthan    时间: 2013-4-29 21:35
好了,我看到了,对于JavaBean,jdk提供了一套操作API,这就是内省
作者: Super_Class    时间: 2013-5-1 00:25
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();

作者: 黄玉昆    时间: 2013-5-2 20:20
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢




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