使用PropertyUtils 将javaBean转化成Map

本文通过具体示例展示了如何使用commons-beanutils库将JavaBean对象转换为Map集合。涉及的JavaBean包括Book和Author,演示了如何获取这些对象的所有可读属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[url]http://hi.baidu.com/303132376/item/adfebff703f0132e753c4c10[/url]
需要导入commons-beanutils.jar 和 commons-logging.jar
下面是两个javaBean
Author.java
package com.beanUtil;

public class Author {
private String name;

public Author() {
super();
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

Book.java
package com.beanUtil;

public class Book {
private String name;
private Author author;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public Author getAuthor() {
return author;
}

public void setAuthor(Author author) {
this.author = author;
}
}

Bean2Map.java
package com.beanUtil;

import java.util.Map;
import java.lang.reflect.InvocationTargetException;
import org.apache.commons.beanutils.PropertyUtils;

public class Bean2Map {

@SuppressWarnings("unchecked")
public static void main(String[] args) {
Author author = new Author();
author.setName("wenliang.li");

Book book = new Book();
book.setName("pro spring");
book.setAuthor(author);

// 取得book中的所有可读属性,返回到map中
Map<String, Book> bookMap = null;
Map<String, Author> authorMap = null;
try {
bookMap = PropertyUtils.describe(book);
// Book类中包含一个Author类型的属性
// 取bookMap中的author bean,并将其所有可读属性返回到authorMap中
authorMap = PropertyUtils.describe(bookMap.get("author"));

} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

// 输出
// Book Name: pro spring
// Author Name: wenliang.li
System.out.println("Book Name: " + bookMap.get("name"));
System.out.println("Author Name: " + authorMap.get("name"));
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值