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());
- }
- }