BeanInfo

获取BeanInfo

最简单的方法如下:

BeanInfo beanInfo = Introspector.getBeanInfo(Test.class);
Introspector.getBeanInfo还有其他参数的方法,主要用来控制返回信息的多少。比如:

BeanInfo beanInfo = Introspector.getBeanInfo(Test.class,Test.class.getSuperclass());

第二个参数是stopClass,即停止查找的类,该类必须是Test类的父类,这样查找BeanInfo的时候就会在stopClass停止。最常见的比如,如果不给定第二个stopClass,那么继承自Object类的所有方法和属性也会在BeanInfo里,如果传入参数Object.class那么Object类的方法和属性就不会显示了。

BeanInfo beanInfo = Introspector.getBeanInfo(Test.class,Introspector.IGNORE_ALL_BEANINFO);
第二个是int类型的标志位,USE_ALL_BEANINFO使用可以发现的所有 BeanInfo 类,这个也是默认属性,IGNORE_IMMEDIATE_BEANINFO忽略与指定 beanClass 相关联的任何 BeanInfo,IGNORE_ALL_BEANINFO忽略与指定 beanClass 相关联的所有 BeanInfo 及其所有父类。

BeanInfo使用

BeanInfo里面有下面这几个重要的方法:

PropertyDescriptor[] getPropertyDescriptors();
获取bean属性,PropertyDescriptor可以获取属性名字(getName),获取该属性的Setter(getWriteMethod())和Getter(getReadMethod())方法。
MethodDescriptor[] getMethodDescriptors();
获取bean中所有的方法,包括上面提到的属性的Setter和Getter方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值