java反射的简单应用

7 篇文章 0 订阅

需求

在做开发时,碰到了这样的一个问题,就是前端需要传回表格数据,但是表头也需要回传;这样能够最大限度的复用;由于传回的表格数据和表头都是不一样的;所以需要后台对表头数据进行组织;但是我们在后台一般都是传list;比如,我们声明了实体类person{name,value},那么我们在回传表头的时候,就需要构造一个

tabletitle[
{"label":"名称","prop":"name"},
{"label":"值","prop":"value"}
]
格式是前端element-ui规定的

所以当我们后台构建了不同的类时,传回的tabletitle是不同的,那么,我们期望能通过一种方法,可以根据实体类,自动构造出不同的表头数据;

需求分析

根据以上需求,我们需要知道实体类的相关字段,根据字段去分别分析对应的实体数据,然后分别赋值即可

用到的方法

这里就不得不用到java的反射机制,拿到对应的实体类,进行遍历赋值

解决思路及归纳总结

1 如何拿到实体类的字段
2 对拿到的数据进行处理

验证

这里验证采用springboot框架,只验证功能
1 这里我建立了个test实体类
在这里插入图片描述通过下面的方式去获取反射后的实体类,没问题;
在这里插入图片描述然后总结一下,总共有三种方式可以获取反射,如下图
在这里插入图片描述2 对拿到的数据进行处理;既然我们已经拿到了反射后的实体,那么就需要做一些增删改差,这里我只需要对其进行字段遍历赋值即可,所以我需要做的事情有如下几点:
(1) 获取字段
(2) 进行遍历赋值
在这里插入图片描述基本没什么问题;下面我把反射常用的方法进行总结归纳一下.

方法解释
getName()获取类的完整名字,也就是包含路径的名称
getFields()获得类的public类型的属性,像private等私有的是拿不到的
getDeclaredFields()获得类的所有属性。包括private 声明的和继承类
getMethods()获得类的public类型的方法
getDeclaredMethods()获得类的所有方法。包括private 声明的和继承类
getMethod(String name, Class[] parameterTypes)获得类的特定方法,name参数指定方法的名字,parameterTypes 参数指定方法的参数类型
getConstructors()获得类的public类型的构造方法
getConstructor(Class[] parameterTypes)获得类的特定构造方法,parameterTypes 参数指定构造方法的参数类型
newInstance()通过类的不带参数的构造方法创建这个类的一个对象
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李卓书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值