博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义BeanUtils的赋值和获取方法实现.
阅读量:6620 次
发布时间:2019-06-25

本文共 1109 字,大约阅读时间需要 3 分钟。

1.1.1 功能分析

定义MyBeanUtils工具类, 实现与BeanUtils相同的功能
public static void setProperty(Object bean,String name,Object value)
// 设置任意对象的, 任意属性, 为任意的值
public static String getProperty(Object bean,String name)
// 获取任意对象的任意属性
public static void populate(Object bean,Map map)
// 修改任意对象中的属性, 为传入Map集合中的键和值
Ps: 下个知识点
1.1.2 实例代码

package com.itheima_03;import java.lang.reflect.Field;public class MyBeanUtils {private MyBeanUtils() {}//public static void setProperty(Object bean,String name,Object value)public static void setProperty(Object bean,String name,Object value) throws ReflectiveOperationException {//根据JavaBean对象获取对应的字节码对象Class clazz = bean.getClass();//根据字节码对象获取对应的Field对象Field f = clazz.getDeclaredField(name);//设置权限,让虚拟机不进行访问的检查f.setAccessible(true);//赋值f.set(bean, value);}//public static String getProperty(Object bean,String name)public static String getProperty(Object bean,String name) throws ReflectiveOperationException {Class clazz = bean.getClass();Field f = clazz.getDeclaredField(name);f.setAccessible(true);Object obj = f.get(bean);return obj.toString();}}

转载于:https://blog.51cto.com/13587708/2374103

你可能感兴趣的文章
详解C语言指针与常量的关系
查看>>
Sequelize 4.42.1 发布,基于 Nodejs 的异步 ORM 框架
查看>>
Android开发的七大环节
查看>>
国务院通过“十三五”国家信息化规划
查看>>
Maven单独构建多模块项目中的单个模块
查看>>
Spring Boot项目@RestController使用重定向redirect
查看>>
【量子万象】植物不可怕 就怕植物懂量子力学
查看>>
商城产品如何应对多个客户不同的需求修改并发布对应客户的文件
查看>>
html复选框的全选和全不选
查看>>
SecureCRT双击Tab快速复制Session
查看>>
Spring注入内部的Beans
查看>>
量子纠缠现象是什么
查看>>
Ubuntu 16.04下MySQL 5.7.18取消开机启动(解决无法使用Sysvinit(update-rc.d/sysv-rc-conf)脚本关闭)...
查看>>
阿里:千亿交易背后的0故障发布
查看>>
【深度森林第三弹】周志华等提出梯度提升决策树再胜DNN
查看>>
Splunk推出Splunk Insights for AWS Cloud Monitoring
查看>>
mysql 的 find_in_set函数使用方法
查看>>
vb实现查询sql
查看>>
落地蓉城 2017中国软件生态大会带来云商机
查看>>
AES加密算法动画演示
查看>>