java用beaninfo_java 可以使用BeanInfo实现bean实体与map之间的互相转换
java 使用BeanInfo实现bean实体与map之间的互相转换。
BeanInfo接口提供有关其 bean 的显式信息的 bean 实现者可以提供某个 BeanInfo 类,该类实现此 BeanInfo 接口并提供有关其 bean 的方法、属性、事件等显式信息。
例子:
map转实体
/**
* @param map
* @return
* @throws IllegalAccessException
* @throws IllegalArgumentException
* @throws InvocationTargetException
* @throws IntrospectionException
*/
private User mapTransformToBean(Map map) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, IntrospectionException{
User user=new User();
BeanInfo beanInfo = Introspector.getBeanInfo(user.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String key = property.getName();
if (map.containsKey(key)) {
Object value = map.get(key);
//得到property对应的setter方法
Method setter = property.getWriteMethod();
setter.invoke(user, value);
}
}
return user;
}
实体转map
/**
* @param user
* @return
* @throws IllegalAccessException
* @throws IllegalArgumentException
* @throws InvocationTargetException
* @throws IntrospectionException
*/
private Map beanTransformToMap(User user) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, IntrospectionException{
Map map = new HashMap();
BeanInfo beanInfo = Introspector.getBeanInfo(user.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String key = property.getName();
// 过滤class属性
if (!key.equals("class")) {
// 得到property对应的getter方法
Method getter = property.getReadMethod();
Object value = getter.invoke(user);
map.put(key, value);
}
}
return map;
}
java用beaninfo_java 可以使用BeanInfo实现bean实体与map之间的互相转换相关推荐
- 【java】之3种方式实现Object和Map之间的转换
转载:[java]之3种方式实现Object和Map之间的转换 - 古越剑箫 - 博客园
- Java的object如何转为map_java实现Object和Map之间的转换3种方式
java实现Object和Map之间的转换3种方式 发布时间:2020-10-17 18:42:04 来源:脚本之家 阅读:98 作者:古越剑箫 利用commons.BeanUtils实现Obj和Ma ...
- java实现bean实体与map集合相互转换
方法一 //bean装换成map public static Map<?, ?> objectToMap2(Object obj) { if(obj == null) ...
- list实体与map之间处理
list实体对象值进行叠加处理 即:针对实体里某个属性出现的次数进行+1 具体实体: List<HealthyResponse> li = new ArrayList<Healthy ...
- 处理实体与Map<String,Object>、json之间的转换
处理实体与map,json之间的转换 实体与Map 实体与Map<String,Object>的转换 直接看代码,如下: package com.liu;import java.lang. ...
- 关于JAVA Bean实体类对象pojo,vo,po,dto,entity之间的区别
关于JAVA Bean实体类对象pojo,vo,po,dto,entity之间的区别: Pojo: Pojo 普通的java对象 最基本的javaBean只有属性 加上属性的get,set方法,可以转 ...
- Android中的两个Activity用Intent来传递java bean实体
先定义java bean实体: public class MC_bean implements Serializable {private int code;private String messag ...
- 将JAVA bean/实体类 中为null的属性值转换成空字符串
使bean中为null的属性转换成空字符串 获得getter方法 方法有分带参数和不带参数,我们知道getter方法是不带参数的 获得getter方法如下 Method m = model.getCl ...
- EJB 3.0中会话Bean,实体Bean,消息驱动Bean的作用和例子
关键词:EJB 3.0,会话Bean,实体Bean,消息驱动Bean EJB 3.0规范使开发EJB比过去更容易,可能诱惑你考虑开发第一个EJB.如果真是这种情况,那么祝贺你,你已经成功避免了在你以前 ...
最新文章
- 敏捷开发中如何使用看板方法创造价值
- 纽大副教授炮轰NeurIPS、AAAI等顶会:无聊、就不该继续存在
- Virtual PC 使用指南
- applyBinding Observables
- (68)信号发生器DDS协议(第14天)
- Android:制作Update.zip升级包 【转】
- 修改VS2017打开在文件中查找窗口以及格式化代码的快捷键
- 2022年电子商务概论(农)之形考作业三
- mac terminal终端快速打开指定文件夹
- 遇到svn is already locked 解决办法
- 2015社交营销计划指南
- ADCS relay
- 数据有效性跨表引用的解决
- 海威计算机网络,海威分布式大屏幕显示控制系统的主要优点
- 马踏棋盘问题的程序c语言,C语言马踏棋盘
- 输入一个四位数将其加密后输出c语言,从键盘输入一个四位数-按如下规则加密后输出...
- 创建达梦到Oracle的DBLINK(OCI方式)
- 2020-10-23
- [FAST 2009]Cumulus:File System Backup to the Cloud
- android启动系统的图片裁剪工具
热门文章
- STL:list用法详解
- 芯片巨头英特尔放弃竞争迷你计算机市场
- 利剑无意之面试题(二)
- Hbase 02_伪分布式、完全分布式
- leetcode 442. Find All Duplicates in an Array | 442. 数组中重复的数据(位运算)
- 【人工智能导论】遗传算法求解TSP问题(含源码github)
- 汇编语言 masm常见报错原因
- 牛客网_PAT乙级1016_部分A+B (15)
- JavaScript JSON操作
- JVM系列之:JIT中的Virtual Call接口