获取对象属性类型、属性名称、属性值的研究:反射和JEXL解析引擎

猿人谷,

期待与你同行!

先简单介绍下反射的概念:java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。

反射是java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以在运行时装配。在实际的业务中,可能会动态根据属性去获取值。

工具类如下:

测试用例如下:

还有一种将字符串转换成java代码并执行的方法:Java Expression Language (JEXL) 是一个表达式语言引擎,可以用来在应用或者框架中使用

JEXL受Velocity和JSP 标签库 1.1 (JSTL) 的影响而产生的,需要注意的是,JEXL 并不是 JSTL 中的表达式语言的实现。

需要先添加jar包,maven配置如下:

主要实现步骤:

1.拿到结果集

2.构建语言表达式

3.动态构建

核心代码如下:

测试示例如下:

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180613G1KWUO00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券