java开源引擎easyrule_java轻量级规则引擎easy-rules使用介绍

轻量级规则引擎easy-rules--参考

我们在写业务代码经常遇到需要一大堆if/else,会导致代码可读性大大降低,有没有一种方法可以避免代码中出现大量的判断语句呢?答案是用规则引擎,但是传统的规则引擎都比较重,比如开源的Drools,不适合在小需求中应用。最近在github上面看到一个傻瓜式的Java规则引擎Easy-Rules,这里结合自己写的demo介绍如何使用这个规则引擎,希望对大家有所帮助。

easy-rules的特点

轻量级类库和容易上手

基于POJO的开发与注解的编程模型

基于MVEL表达式的编程模型(适用于极简单的规则,一般不推荐)

支持根据简单的规则创建组合规则

方便且适用于java的抽象的业务模型规则

它主要包括几个主要的类或接口:Rule,RulesEngine,RuleListener,Facts还有几个主要的注解:@Action,@Condition,@Fact,@Priority,@Rule

例1:基于POJO开发与注解的编程模型:判断1-50中,被3或者8整除的数

首先maven 引入easy-rules

org.jeasy

easy-rules-core

3.3.0

org.jeasy

easy-rules-mvel

3.3.0

编写规则POJO:

规则1

@Rule(name = "被3整除", description = "number如果被3整除,打印:number is three")

public class ThreeRule {

/**

* Condition:条件判断注解:如果return true, 执行Action

*

* @param number

* @return

*/

@Condition

public boolean isThree(@Fact("number") int number) {

return number % 3 == 0;

}

/**

* Action 执行方法注解

*

* @param number

*/

@Action

public void threeAction(@Fact("number") int number) {

System.out.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值