前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >easy-rules 使用详解

easy-rules 使用详解

作者头像
分享干货的你
发布2021-04-06 17:08:56
4.6K0
发布2021-04-06 17:08:56
举报
文章被收录于专栏:分享干货的你

最近在搞规则引擎,无意之间发现一个去年才开源的规则引擎jar包。

现在我们就来 看一下easy-rules 的使用。官方github 链接 https://github.com/j-easy/easy-rules

这是它给的解释,核心功能有这几种的编程方式。

这里我先写几个小例子给大家看看,首先新建一个pom 的工程,并引入相关的jar 包。

先写第一种mvel 和spel 规则的例子

给一个需求,判断 一个人的年龄大于18 才是成人,才让喝酒。

先定义一个实体类

get set tostring ,写一个例子测试一下

name 就是规则名称,description 是规则详情。priority这是优先级,越小月先执行。when 就是条件判断,then 就是下一步的处理方法。

这里使用的person.age 就是使用了视频spel 表达式。在初始化的时候要先绑定。

在把这个rule 规则注入这个引擎当中,参数绑定,在执行。

我们执行一下,看看,首先初始化年龄是10.

结果是false,初始化age是20 ,结果是

第二种 我们使用规则描述符

同一个需求

这里面就了两个不一样。condition 就是when判断,actions 就是then ,后续处理的方法。

在写一个例子

上面没有变化,就是生成rule 的方式变了。

还用刚才20的年龄,执行一下,看控制台打印

我们再看最后一种

基于注解的pojo变成,这和第二种差不多

其他都一样,这里面有几个参数

我们用的第一个跳过,因为里面可以写好多的@action ,运行一下看一下结果

这就是easy-drools 最简单基本的应用,复杂的应用请看官方文档。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 分享干货的你 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档