QLExpress是一个轻量级的类java语法规则引擎,作为一个嵌入式规则引擎在业务系统中使用。让业务规则定义简便而不失灵活。让业务人员就可以定义业务规则。支持标准的JAVA语法,还可以支持自定义操作符号、操作符号重载、函数定义、宏定义、数据延迟加载等。
QLExpress 实现了一个功能丰富、扩展性极高的编译执行器,实现了一个完整的 “单词分解 -> 单词类型分析 -> 语法分析 -> 生产运行期指令集合 -> 执行生成的指令集合” 的过程
常规用法是
【1】定义要执行的表达式
String express = "....";
【2】创建ExpressRunner对象
ExpressRunner runner = new ExpressRunner();
runner.addFunctionOfClassMethod(....);
【3】创建IExpressContext对象(如果是Spring的Bean,则创建SpringBeanContext对象) 表示执行上下文
IExpressContext<String, Object> context = new DefaultContext<String, Object>();
context.put(....);
【4】调用runner的execute方法
runner.execute(express, context, null, true , false);
详细看
CSDN的参考资料(资源搬运工):