创建与bean属性对应的Map
使用PropertyUtils.describe()生成Map实例,其中包含了源bean中所有可读的属性.下面的代码片段演示了这个特性
Personauthor=newPerson();
author.setName("TimothyM.O'Brien");
Bookbook=newBook();
book.setName("JakartaCommonsCookbook");
book.setAuthor(author);
//取得book中的所有可读属性,返回到map中
MapbookMap=PropertyUtils.describe(book);
//Book类中包含一个Author类型的属性
//取bookMap中的authorbean,并将其所有可读属性返回到authorMap中
MapauthorMap=PropertyUtils.describe(bookMap.get("author"));
//输出
//BookName:JakartaCommonsCookbook
//AuthorName:TimothyM.O'Brien
System.out.println("BookName:"+bookMap.get("name"));
System.out.println("AuthorName:"+authorMap.get("name"));
PropertyUtils.describe()方法将返回bean中每个可读的属性都添加到Map中去.如果值为设置,将返回默认值,在上面的例子中假如Book类中还有个Integer型的page属性,代表书籍页数.在没设置的情况下,将返回null.如果page属性为int型,则将返回0
本文介绍如何使用PropertyUtils.describe()方法将Java Bean的所有可读属性转换为Map对象。通过实例展示了如何获取Book及其中嵌套的Author对象的所有属性。

被折叠的 条评论
为什么被折叠?



