内省操作JavaBean
2011-12-10 21:43
363 查看
package cn.zen.introspector; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import org.junit.Test; import cn.zen.entity.Person; public class Demo1 { @Test public void method1() throws Exception { // BeanInfo bi = Introspector.getBeanInfo(Person.class); BeanInfo bi = Introspector.getBeanInfo(Person.class, Object.class); PropertyDescriptor pds[] = bi.getPropertyDescriptors(); for (PropertyDescriptor pd : pds) { System.out.println(pd.getName()); } } @Test public void method2() throws Exception { Class clazz = Class.forName("cn.zen.entity.Person"); // Constructor c = clazz.getConstructor(null); // Person p = (Person) c.newInstance(null); Person p = (Person) clazz.newInstance(); PropertyDescriptor pd = new PropertyDescriptor("_Name", p.getClass()); Method method = pd.getWriteMethod(); method.invoke(p, "xiaopianzi"); method = pd.getReadMethod(); System.out.println(method.invoke(p, null)); } @Test public void method3() throws Exception { Class clazz = Class.forName("cn.zen.entity.Person"); // Constructor c = clazz.getConstructor(null); // Person p = (Person) c.newInstance(null); Person p = (Person) clazz.newInstance(); PropertyDescriptor pd = new PropertyDescriptor("_Age", p.getClass()); System.out.println(pd.getPropertyType()); } }
相关文章推荐
- 【Java进阶】内省IntroSpector操作JavaBean和Apache-commons-dbutils对内省的使用
- 黑马程序员_javaBean的内省操作
- 内省(Introspector)操作JavaBean的属性
- 有关javaBean的简单内省操作
- java基础增强---JavaBean的内省操作
- JavaBean的简单内省操作 以及复杂内省操作
- 使用内省的方式操作JavaBean
- 内省操作javabean属性
- JAVABean的内省操作
- javaBean的内省操作
- Java学习笔记之<反射、内省、BeanUtils包操作JavaBean的对比>
- 内省(IntroSpector)机制---对JavaBean进行操作
- JavaBean的简单内省操作 以及复杂内省操作
- 黑马程序员-内省、操作JavaBean工具类
- 内省Introspector(反射操作javaBean)
- 黑马程序员_第六天_高新技术之理解对JavaBean的内省操作
- Java通过内省操作JavaBean有什么作用?
- JavaBean 用反射自己实现简单内省操作 基础
- 使用内省方式操作JavaBean
- JavaBean的内省操作