ReflectPoint类
package introSpector;
import java.util.Date;
public class ReflectPoint {
private int x;
private int y;
private String detail;
// 要给birthday中的属性赋值,需要初始化
private Date birthDay = new Date();
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public String getDetail() {
return detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public Date getBirthDay() {
return birthDay;
}
public void setBirthDay(Date birthDay) {
this.birthDay = birthDay;
}
}
测试方法
@Test
public void test_2() throws Exception{
ReflectPoint rp = new ReflectPoint();
String property = "y"; //int 类型
//虽然属性为int类型但是Beanutils会帮你自动转型
BeanUtils.setProperty(rp, property, "456");
//默认为String类型(web传值常用),自动转换
System.out.println(BeanUtils.getProperty(rp, property).getClass()); // output String
System.out.println(BeanUtils.getProperty(rp, property));
ReflectPoint rp2 = new ReflectPoint();
String property2 = "birthDay.time"; //int 类型
//虽然属性为Date类型但是可以给属性的属性赋值(比较强大)
BeanUtils.setProperty(rp2, property2, System.currentTimeMillis());
//默认为String类型(web传值常用),自动转换
System.out.println(BeanUtils.getProperty(rp, property2).getClass()); // output String
System.out.println(BeanUtils.getProperty(rp2, property2));
}
BeanUtils工具包还可以对javabean进行copy操作及与map之间的赋值转换等等