BeanUtils工具包使用

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之间的赋值转换等等

你可能感兴趣的:(BeanUtils)