Javabean和map相互转化方法代码示例
发布时间 - 2026-01-11 03:13:04 点击率:次在做导入的时候,遇到了需要将map对象转化 成javabean的问题,也就是说,不清楚javabean的内部字段排列,只知道map的 key代表javabean的字段名,value代表值。

那现在就需要用转化工具了。是通用的哦!
首先来看 JavaBean 转化成Map的方法:
/**
* 将一个 JavaBean 对象转化为一个 Map
* @param bean 要转化的JavaBean 对象
* @return 转化出来的 Map 对象
* @throws IntrospectionException 如果分析类属性失败
* @throws IllegalAccessException 如果实例化 JavaBean 失败
* @throws InvocationTargetException 如果调用属性的 setter 方法失败
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public static Map convertBean(Object bean)
throws IntrospectionException, IllegalAccessException, InvocationTargetException {
Class type = bean.getClass();
Map returnMap = new HashMap();
BeanInfo beanInfo = Introspector.getBeanInfo(type);
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (int i = 0; i< propertyDescriptors.length; i++) {
PropertyDescriptor descriptor = propertyDescriptors[i];
String propertyName = descriptor.getName();
if (!propertyName.equals("class")) {
Method readMethod = descriptor.getReadMethod();
Object result = readMethod.invoke(bean, new Object[0]);
if (result != null) {
returnMap.put(propertyName, result);
} else {
returnMap.put(propertyName, "");
}
}
}
return returnMap;
}
下面是将Map转化成JavaBean对象的方法:
/**
* 将一个 Map 对象转化为一个 JavaBean
* @param type 要转化的类型
* @param map 包含属性值的 map
* @return 转化出来的 JavaBean 对象
* @throws IntrospectionException 如果分析类属性失败
* @throws IllegalAccessException 如果实例化 JavaBean 失败
* @throws InstantiationException 如果实例化 JavaBean 失败
* @throws InvocationTargetException 如果调用属性的 setter 方法失败
*/
@SuppressWarnings("rawtypes")
public static Object convertMap(Class type, Map map)
throws IntrospectionException, IllegalAccessException,
InstantiationException, InvocationTargetException {
BeanInfo beanInfo = Introspector.getBeanInfo(type); // 获取类属性
Object obj = type.newInstance(); // 创建 JavaBean 对象
// 给 JavaBean 对象的属性赋值
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (int i = 0; i< propertyDescriptors.length; i++) {
PropertyDescriptor descriptor = propertyDescriptors[i];
String propertyName = descriptor.getName();
if (map.containsKey(propertyName)) {
// 下面一句可以 try 起来,这样当一个属性赋值失败的时候就不会影响其他属性赋值。
Object value = map.get(propertyName);
Object[] args = new Object[1];
args[0] = value;
descriptor.getWriteMethod().invoke(obj, args);
}
}
return obj;
}
以上内容我测试过,是没有问题的,供大家参考学习。感谢大家对本站的支持。
# java
# bean
# to
# map
# javabean转map
# 工具类
# 关于Java中BeanMap进行对象与Map的相互转换问题
# Java Bean与Map之间相互转化的实现方法
# 使用Jackson实现Map与Bean互转方式
# Map与JavaBean相互转换的工具类
# Java BeanMap实现Bean与Map的相互转换
# Java map和bean互转常用的方法总结
# 转化为
# 类属
# 转化成
# 一句
# 不清楚
# 只知道
# 需要用
# 感谢大家
# 也就是说
# 字段名
# InvocationTargetException
# setter
# throws
# IntrospectionException
# IllegalAccessException
# static
# convertBean
# Object
# public
# SuppressWarnings
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
高防服务器租用如何选择配置与防御等级?
装修招标网站设计制作流程,装修招标流程?
如何在新浪SAE免费搭建个人博客?
lovemo网页版地址 lovemo官网手机登录
如何在企业微信快速生成手机电脑官网?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
PythonWeb开发入门教程_Flask快速构建Web应用
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
如何用y主机助手快速搭建网站?
北京专业网站制作设计师招聘,北京白云观官方网站?
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
个人网站制作流程图片大全,个人网站如何注销?
如何在Windows环境下新建FTP站点并设置权限?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
js代码实现下拉菜单【推荐】
Laravel如何使用withoutEvents方法临时禁用模型事件
Laravel如何实现数据库事务?(DB Facade示例)
如何用PHP工具快速搭建高效网站?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
Android自定义控件实现温度旋转按钮效果
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
Python高阶函数应用_函数作为参数说明【指导】
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
使用Dockerfile构建java web环境
Laravel如何处理CORS跨域请求?(配置示例)
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
如何在IIS中配置站点IP、端口及主机头?
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
简单实现Android验证码
Swift开发中switch语句值绑定模式
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
如何用景安虚拟主机手机版绑定域名建站?
Laravel如何为API编写文档_Laravel API文档生成与维护方法
Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】
如何在不使用负向后查找的情况下匹配特定条件前的换行符
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
如何撰写建站申请书?关键要点有哪些?
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
动图在线制作网站有哪些,滑动动图图集怎么做?
香港服务器建站指南:免备案优势与SEO优化技巧全解析

