自定义BeanUtils的populate方法实现「建议收藏」

自定义BeanUtils的populate方法实现「建议收藏」1.1.1功能分析publicstaticvoidpopulate(Objectbean,Mapmap)//修改任意对象中的属性,为传入Map集合中的键和值思路:1.获取传入对象的字节码对象2.获取map集合中所有的键和值3.调用Class中的getDecl…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1.1.1 功能分析

public static void populate(Object bean,Map map)

                                // 修改任意对象中的属性, 为传入Map集合中的键和值

                思路:

1. 获取传入对象的字节码对象

2. 获取map集合中所有的键和值

3. 调用Class中的getDeclaredField()方法将每一个键传入, 得到Field对象

4. 通过Field对象中的set方法赋值

5. Try catch捕获getDeclaredField方法可能发生的异常.(为了方式传入错误的值)

1.1.2 实例代码

//public static void populate(Object bean,Map map)
 
public static void populate(Object bean,Map map) throws ReflectiveOperationException {
 
//通过JavaBean对象来获取对应的字节码对象
 
Class clazz = bean.getClass();
 
//获取Map中所有的key
 
Set keys = map.keySet();
 
for (Object key : keys) {
 
 
try {
 
//根据key来获取对应的Field对象
 
Field f = clazz.getDeclaredField(key.toString());
 
//根据key来获取Map中对应的value
 
Object value = map.get(key);
 
 
f.setAccessible(true);
 
f.set(bean, value);
 
} catch(NoSuchFieldException e) {
 
//e.printStackTrace();
 
}
 
}
 
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158753.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • html文本框鼠标离开事件,html鼠标事件_文本框事件「建议收藏」

    html文本框鼠标离开事件,html鼠标事件_文本框事件「建议收藏」该楼层疑似违规已被系统折叠隐藏此楼查看此楼今天57号网络技术分享给大家介绍html鼠标事件,就是当前文本框获得焦点时,里面的原有文本清零。首先我们来看一看源代码运行后的效果图片:你也可以【点击预览】,看到我们真实的效果。下面是源代码,喜欢就支持一下吧:/p>Transitional//EN””http://www.w3.org/TR/xhtml1/DTD/xhtml1-transition…

    2022年10月23日
  • windows2003 dns 414错误「建议收藏」

    windows2003 dns 414错误「建议收藏」原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://rainbird.blog.51cto.com/211214/121697       因为原来在Linux下实现过域根dns.所以朋友也想做域名用自己的dns服务器的时候肯定是一马当先的帮着做了。操作系统这回用的是2003。用windows配置服务就一个字:“简单”。

  • Linux虚拟主机通过FTP软件创建目录时提示550 Create Directory Operation Failed

    Linux虚拟主机通过FTP软件创建目录时提示550 Create Directory Operation Failed

  • vim编辑器重要快捷键及vim设置「建议收藏」

    vim编辑器重要快捷键及vim设置「建议收藏」1.全选:ggVG2.跳转到文本最后一行:shift+g3.跳转到文本第一行:gg4.跳转到光标所选行的行首位置:05.跳转到光标所选行的行尾位置:shift+46.全部替换(替换无需确认)::%s/src/dst/g7.全部替换(每次替换需要确认)::%s/src/dst/gc8.查找:/string9.高亮显示查找到的内容::sethlsearch10.显示vim行号::setnu!11.到注释的开始:[/12.到注释的结束:]/13.撤销上一次操作:

  • 霍尼韦尔助力中石油广东石化炼化一体化项目「建议收藏」

    霍尼韦尔助力中石油广东石化炼化一体化项目「建议收藏」霍尼韦尔UOP宣布,中国石油天然气集团有限公司广东石化分公司(以下称“中石油广东石化”)将在其位于中国的炼化一体化项目中采用霍尼韦尔UOP的先进重油加工技术。投产后,新工…

    2022年10月15日
  • h3c路由器如何重启_h3c路由器远程管理

    h3c路由器如何重启_h3c路由器远程管理1、system-view进入系统视图模式2、sysname为设备命名3、displaycurrent-configuration当前配置情况4、language-modeChinese|English中英文切换5、interfaceEthernet1/0/1进入以太网端口视图6、portlink-typeAccess|Trunk|Hybrid设置端口访问模式7、undoshutdo…

    2022年10月18日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号