【内省】introspector操作JavaBean
2014-03-22 22:47
429 查看
根据字段名得到一个Description对象,这个对象能得到字段的类型,字段的读写方法
person.java
Test.java
person.java
package com.xiaozhi.introspector; //该类共有5个属性 public class Person { private String name; private String password; private int age; public void setAb(int a){ } public String getName() { return name; } public String getPassword() { return password; } public int getAge() { return age; } public void setName(String name) { this.name = name; } public void setPassword(String password) { this.password = password; } public void setAge(int age) { this.age = age; } }
Test.java
package com.xiaozhi.introspector; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; public class Test { public static void main(String[] args) throws Exception { //得到所有的属性 // // 这样得到的属性包括Object的属性:Class // BeanInfo beanInfo1 = Introspector.getBeanInfo(Person.class); // // 去除Object的属性 // BeanInfo beanInfo2 = Introspector.getBeanInfo(Person.class,Object.class); // PropertyDescriptor[] descriptors = beanInfo1.getPropertyDescriptors(); // for(PropertyDescriptor descriptor:descriptors) // { // System.out.println(descriptor.getName()); // } //操作制定属性:age Person person=new Person(); PropertyDescriptor descriptor=new PropertyDescriptor("age",Person.class); //获取属性的类型 System.out.println(descriptor.getPropertyType()); //得到属性的写方法,为属性赋值 Method method= descriptor.getWriteMethod(); method.invoke(person, 22);//为age赋值22 //得到属性的读方法 method=descriptor.getReadMethod(); System.out.println(method.invoke(person, null));//读取age的值22 } }
相关文章推荐
- 内省(Introspector)操作JavaBean的属性
- 内省(IntroSpector)机制---对JavaBean进行操作
- 内省Introspector操作 JavaBean的简单实现方式及稍复杂实现方式 主要用到PropertyDescriptor类
- 内省(Introspector)操作JavaBean的属性
- 通过PropertyDescriptor和Introspector对JavaBean的简单内省操作
- 内省(Introspector)操作JavaBean的属性
- 【Java进阶】内省IntroSpector操作JavaBean和Apache-commons-dbutils对内省的使用
- 内省Introspector(反射操作javaBean)
- 对javabean的内省操作
- 对javabean的内省操作
- 内省.BeanUtils操作JavaBean
- JavaBean的两种内省操作
- 内省操作javabean的属性
- 对JavaBean的内省操作——综合案例
- 【黑马程序员】java基础加强------------------javabean与内省操作
- JavaBean_重构_内省操作
- ——javaBean的讲解,及内省操作
- 内省操作javabean的属性
- java基础巩固系列(八):对javabean的内省操作
- 黑马程序员-javaBean的简单内省操作