javabean的使用

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值