javabean实体类对象转为Map类型对象的方法
2015-06-18 00:32
344 查看
//将javabean实体类转为map类型,然后返回一个map类型的值 public static Map<String, Object> beanToMap(Object obj) { Map<String, Object> params = new HashMap<String, Object>(0); try { PropertyUtilsBean propertyUtilsBean = new PropertyUtilsBean(); PropertyDescriptor[] descriptors = propertyUtilsBean.getPropertyDescriptors(obj); for (int i = 0; i < descriptors.length; i++) { String name = descriptors[i].getName(); if (!"class".equals(name)) { params.put(name, propertyUtilsBean.getNestedProperty(obj, name)); } } } catch (Exception e) { e.printStackTrace(); } return params; }
放入上面方法的类需要 import java.beans.PropertyDescriptor;
需要引用两个jar包:commons-beanutils-1.9.2.jar commons-logging-1.2.jar
获取上面两个jar的网址分别是:http://commons.apache.org/beanutils/ http://commons.apache.org/proper/commons-logging/
注意:
如果只引用了commons-beanutils-1.9.2.jar 未引用 commons-beanutils-1.9.2.jar,控制台会报以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory
at org.apache.commons.beanutils.ConvertUtilsBean.<init>(ConvertUtilsBean.java:157)
at org.apache.commons.beanutils.BeanUtilsBean.<init>(BeanUtilsBean.java:117)
at org.apache.commons.beanutils.BeanUtilsBean$1.initialValue(BeanUtilsBean.java:68)
at org.apache.commons.beanutils.ContextClassLoaderLocal.get(ContextClassLoaderLocal.java:153)
at org.apache.commons.beanutils.BeanUtilsBean.getInstance(BeanUtilsBean.java:80)
at org.apache.commons.beanutils.BeanUtils.getProperty(BeanUtils.java:382)
at fighting.IntroSpectorDemo.main(IntroSpectorDemo.java:31)
相关文章推荐
- JAVA 复习(Think In Java, 4th) -- Error Handling with Exceptions
- Eclipse下搭建Hadoop2.7.0开发环境
- java验证码生成
- Spring 第二遍 01
- Spring 第二遍 02 spring IOC应用
- Groovy学习(三)
- java 框架基础知识(8)----国际化信息-->MVC
- Spring注入容器类型List、Map、Properties、Set
- Java正则表达式应用
- java语言基础
- 今天正式开始学习java代码编写
- Java备份mysql数据库及错误总结
- 构建Java并发模型框架
- gradle创建spring-boot项目
- 打地鼠---Java
- ndk c调用java函数
- Hadoop学习笔记之在Eclipse中远程调试Hadoop
- JavaMail实现收发邮件——(二)发送邮件
- Java JDBC批处理插入数据操作
- Java基础知识学习。(2015,6,17)