【微服务】springboot 整合表达式计算引擎 Aviator 使用详解

目录

一、前言

二、表达式计算框架概述

2.1 规则引擎

2.1.1 什么是规则引擎

2.1.2 规则引擎用途

2.1.3 规则引擎使用场景

2.2 表达式计算框架

2.2.1 表达式计算框架定义

2.2.2 表达式计算框架特点

2.2.3 表达式计算框架应用场景

2.3 表达式计算框架与规则引擎异同点

2.3.1 相同点

2.3.2 不同点

三、表达式计算框架 Google Aviator介绍

3.1 Google Aviator概述

3.1.1 Aviator是什么

3.1.2 Aviator特点

3.2 Google Aviator 优势和应用场景

四、Google Aviator使用

4.1 Aviator常用运算符操作

4.1.1 入门示例

4.1.2 算术运算符

4.1.3 比较运算符

4.1.4 逻辑操作符

4.1.5 运算符操作补充

4.2 Aviator内置函数使用

4.2.1 随机数函数

4.2.2 数值比较函数

4.2.3 强制类型转换

4.2.4 数值类型判断

4.2.5 常用的字符串函数

4.2.6 常用数学函数

4.2.7 集合操作函数

4.3 Aviator自定义函数使用

4.3.1 在外部文件中定义函数

4.3.2 继承AbstractFunction

五、springboot项目集成Aviator

5.1 使用场景

5.1.1 自定义规则表达式

5.1.2 提前定义计算表达式

5.2 整合使用过程

5.2.1 自定义Aviator工具类

5.2.2 添加测试接口

5.2.3 效果测试

六、写在文末


一、前言

在项目开发中,通常会遇到诸如各类表达式计算的需求,比如根据页面输入的某种条件参数,服务端计算得到一种结果,在输入另一种条件参数,服务端计算得到另一种结果,对于简单的条件来说,服务端可以通过简单的条件判断并解析参数,组装计算表达式即可完成,但设想以后类似的场景越来越多,也越来越复杂时,这必然会造成代码的臃肿和维护成本的不断提高,于是,表达式计算求值框架就出现了。

二、表达式计算框架概述

在正式介绍表达式计算框架之前,需要搞懂与规则引擎的异同点,否则在实际场景中进行选择时很容易混淆,虽然两者之间存在一些异同点。

2.1 规则引擎

实现一个规则引擎,首先需要定义规则的结构,然后使用aviator进行条件判断和规则执行。aviator是一个高性能的Java表达式解析和计算引擎,可以实现复杂的规则执行逻辑。 在规则引擎中,常见的操作包括条件判断和规则执行。条件判断可以使用aviator表达式解析能力,例如通过判断数值大小、字符串比较、正则表达式匹配等。如果规则需要更复杂的计算逻辑,aviator也支持如加减乘除、逻辑运算和函数调用等操作。 在实现规则引擎时,首先需要定义规则的数据结构,通常使用一个规则对象来表示。规则对象中包含了需要判断的条件和需要执行的操作。可以使用aviator表达式解析功能,解析规则对象中的条件表达式,并根据返回结果来决定是否执行规则对象中定义的操作。 例如,假设我们要实现一个简单的规则引擎来判断一个人的年龄是否满足条件,如果满足则执行相应的操作。我们可以定义一个规则对象,包含条件表达式和操作。条件表达式可以使用aviator表达式解析功能进行判断,例如判断年龄是否大于等于18岁。如果条件满足,则执行相应的操作,例如输出年龄大于等于18岁的人的信息。 总之,使用aviator可以方便地实现规则引擎,通过定义规则对象和使用aviator表达式解析功能,可以实现复杂的条件判断和规则执行逻辑。
评论 219
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小码农叔叔

谢谢鼓励

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

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

打赏作者

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

抵扣说明:

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

余额充值