JavaWeb学習ノート-javaベース-8-javabean(1)


JAvabean内省操作


フィールド属性(get setメソッドで決定)
// bean 
// , Object 
BeanInfo info = Introspector.getBeanInfo(Person.class,Object.class);
PropertyDescriptor[] pds = info.getPropertyDescriptors();
for(PropertyDescriptor pd : pds){
    System.out.println(pd.getName());
}
// 
Person p = new Person();
PropertyDescriptor pd = 
new PropertyDescriptor("age",Person.class);
// setAge() 
// , 
Method method = pd.getWriteMethod();
method.invoke(p,45)
System.out.println(p.getAge());

// 
method = pd.getReadMethod();
System.out.println(method.invoke(p,null));

// 
pd.getPropertyType();