BeanUtils提供对 Java反射和自省API的包装。其主要目的是利用反射机制对JavaBean的属性进行处理。
Person.class
package com.xiaozhi.beanutils;
import java.util.Date;
public class Person {
private String name;
private String password;
private int age;
private Date birthday;
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getName() {
return name;
}
public String getPassword() {
return password;
}
public int getAge() {
return age;
}
public void setName(String name) {
this.name = name;
}
public void setPassword(String password) {
this.password = password;
}
public void setAge(int age) {
this.age = age;
}
}
Test.java
package com.xiaozhi.beanutils;
import java.lang.reflect.InvocationTargetException;
import java.util.Date;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.beanutils.ConvertUtils;
import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;
public class Test {
public static void main(String[] args) throws Exception, InvocationTargetException {
//使用beanUtils操纵bean的属性
// Person person=new Person();
// BeanUtils.setProperty(person, "name", "xiaozhi");
// System.out.println(person.getName());
// System.out.println(BeanUtils.getProperty(person, "name"));
//beanUtilsz支持八种类型自动转换
// String name="xiaozhi";
// String age="22";
// String password="123456";
//
// Person person=new Person();
// BeanUtils.setProperty(person, "name", name);
// BeanUtils.setProperty(person, "age", age);
// BeanUtils.setProperty(person, "password", password);
//
// System.out.println(person.getName());
// System.out.println(person.getAge());
// System.out.println(person.getPassword());
//对于时间类型,要注册转换器
String birthday ="1992-09-28";
ConvertUtils.register(new DateLocaleConverter(), Date.class);
Person person=new Person();
BeanUtils.setProperty(person, "birthday", birthday);
System.out.println(person.getBirthday());
}
}