BeanUtils工具访问JavaBean的属性
为了帮助大家更好地掌握BeanUtils工具的使用,接下来通过一个案例来演示如何使用BeanUtils工具访问JavaBean的属性,如例1所示。
例1 BeanUtilsDemo02.java
1 package cn.itcast.chapter08.beanutils;
2 import java.util.HashMap;
3 import java.util.Map;
4 import org.apache.commons.beanutils.BeanUtils;
5 import cn.itcast.chapter08.javabean.Person;
6 public class BeanUtilsDemo02 {
7 public static void main(String[] args) throws Exception {
8 //获取指定JavaBean的Class对象
9 Class clazz = Class.forName("cn.itcast.chapter08.javabean.Person");
10 //创建对象
11 Person p = (Person) clazz.newInstance();
12 //创建map集合,用于存放属性及其属性值
13 Map<String, Object> map = new HashMap<String, Object>();
14 map.put("name", "张三");
15 map.put("age", 10);
16 //使用populate()方法为对象的属性赋值
17 BeanUtils.populate(p, map);
18 //打印赋值后对象的信息
19 System.out.println(p);
20 }
21 }
运行结果如图1所示。
图1 运行结果
在例1中,第9~11行代码使用反射创建了Person对象,第13~15代码创建了一个map集合,并将属性name和age及其对应的值以键值对的形式存放到map中,第17行代码使用BeanUtils类中的populate()方法一次性为多个属性赋值,第19行代码打印赋值后对象的信息,从运行结果可以看出,成功为name和age两个属性赋值。