Java之内省机制
来源:互联网 发布:阿里云二级域名注册 编辑:程序博客网 时间:2024/05/22 04:58
内省(Introspecter)用来操作JavaBean属性
JavaBean:用来封装数据的Java类(一般要重写toString方法)
属性:对外提供getter或setter方法的属性(field) 因为Object是所有类的基类,所以每个类都有一个class属性 (getClass方法)
核心类和接口
Introspecter
方法: staticBeanInfo getBeanInfo(Class beanclass)
static BeanInfo getBeanInfo(Classbeanclass ,Class stopClass)
*stopClass排除例如父类Object中的属性
PropertyDescriptor
PropertyDescriptor[] pds=beaninfo.getPropertyDescriptors();
StringpropertyName=pds[0].getName();
pds[0].getPropertyType();
Method
Method m1= pds[0].getWriteMethod();
Method m2=pds[0].getReadMethod();
Demo代码片段:
1
2
3
4
5
6
7
8
9
10
11
12
13
Person p=new Person();
BeanInfo beaninfo=IntroSpector.getBeanInfo(Person.class);
PropertyDescripter[ ] pds=beaninfo.getPropertyDescriptors();
For(PropertyDescriptor pd :pds){
System.out.println(pd.getName());//打印属性名
System.out.println(pd.getPropertyType());//打印属性类型
Method m1=pd.getWriteMethod();//获得setter方法
M1.invoke(p,23);//调用setter方法
Method m2=pd.getReadMethod();//获得getter方法
System.out.println(M2.invoke(p,null));//调用setter方法
}
- Java之内省机制
- java内省机制运用
- Java内省机制
- java的内省机制
- Java内省机制
- java 中的内省机制
- java内省机制
- java内省机制
- java内省机制介绍
- Java内省机制
- Java内省机制
- Java内省机制
- java内省机制
- Java内省机制
- java 内省机制
- Java 内省机制
- Java内省机制
- Java内省机制IntroSpector
- UI基础__键盘keyboard的监听和消失
- Android开发阅读文档资源
- Android 画三角形shape
- 特殊回文数
- Dubbo spring mvc整合示例
- Java之内省机制
- 2434: [Noi2011]阿狸的打字机 fail树+dfs序+树状数组
- COM 组件设计与应用(四)——简单调用组件
- JQuery,没事玩玩
- HN集训201(5+6)酱油记
- 交换机上的三种端口模式
- J2EE基础概念
- 犀牛书随手记-04
- 毕业十年纪念