QLExpress 是阿里开源的轻量级 Java 动态脚本引擎,常用于规则判断、公式计算等需要动态逻辑的场景。下面是其核心使用方法和一个实际项目集成示例。
🚀 快速入门
以下表格汇总了从安装到执行的关键步骤:
| 步骤 | 关键内容 | 说明与示例 |
|---|---|---|
| 1. 添加依赖 | Maven 坐标 | 在 pom.xml 中添加:<dependency><groupId>com.alibaba</groupId><artifactId>QLExpress</artifactId><version>3.3.4</version></dependency> |
| 2. 核心 API | ExpressRunner | 核心执行器,负责脚本的编译与运行。 |
DefaultContext | 用于向脚本传递参数的上下文对象。 | |
| 3. 执行脚本 | execute 方法 | 基础执行代码:ExpressRunner runner = new ExpressRunner(); DefaultContext<String, Object> context = new DefaultContext<>(); context.put("a", 10); Object result = runner.execute("a * 2", context, null, true, false); System.out.println(result); // 输出 20 |
🧩 核心功能与技巧
掌握基础后,你可以利用 QLExpress 更灵活地处理复杂逻辑:
- 自定义函数与方法注入 如果脚本需要调用特定业务逻辑,可以注入自定义函数或 Java 方法。
// 1. 添加自定义函数
runner.addFunction("isVIP", new Operator() {
@Override
public Object executeInner(Object[] list) {
Integer level = (Integer) list[0];
return level != null && level >= 3;
}
});
// 脚本中调用:isVIP(userLevel)
// 2. 注入对象方法(例如 StringUtils)
runner.addFunctionOfServiceMethod("strLength", new StringUtils(), "length", new []{String.class}, );

