javabean的使用

来源:互联网 发布:mac怎么删除office2016 编辑:程序博客网 时间:2024/05/17 23:14
package pm_cn.itcast.bean;


import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;


import org.junit.Test;


public class IntrospectorDemo {

@Test
public void test1() throws IntrospectionException{

// 获得 bean 的 信息 
BeanInfo beanInfo = Introspector.getBeanInfo(Student.class);

PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();

// 想查看 到底  Student 类 有多少个 属性 
System.err.println(pds.length);
}

@Test
public void test2() throws Exception{

Student s = new Student();

// 获得 bean 的 信息 
BeanInfo beanInfo = Introspector.getBeanInfo(Student.class);

PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();

for (PropertyDescriptor pd : pds) {

System.err.println(pd.getName());

if(pd.getName().equals("name")){

// 获得 其  写方法 , setName方法
Method writeMethod = pd.getWriteMethod();  // 获得 set方法
writeMethod.invoke(s,"高杰");  // s.setName("高杰");

System.out.println(s.getName());

System.out.println("============");

Method readMethod = pd.getReadMethod();
Object value = readMethod.invoke(s, null);  // s.getName();
System.out.println("name : " + value);

System.out.println(pd.getPropertyType());
}

}

}
}
0 0
原创粉丝点击