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的參考資料(資源搬運工):
QLExpress腳本語言技術講解(2) -----QL的基本執行過程
QLExpress腳本語言技術講解(3) -----QL的性能描述
QLExpress腳本語言技術講解(4)------擴展QLExpress來管理spring的bean,寫出簡單的腳本語言框架