規則引擎QLExpress的簡單應用


QLExpress 是一個輕量級的類java語法規則引擎,作為一個嵌入式規則引擎在業務系統中使用。讓業務規則定義簡便而不失靈活。讓業務人員就可以定義業務規則。支持標 准的JAVA語法,還可以支持自定義操作符號、操作符號重載、 函數定義、宏定義、數據延遲加載等。

QLExpress可以執行標准的java語法,例如 '哈哈'.equals('哈哈')、if(true) {1} else{2}等,可以動態獲取運算結果。

QLExpress 3.0.6下載地址:http://code.taobao.org/p/QLExpress/file/2949/qlexpress-3.0.6.zip

wiki地址:http://code.taobao.org/p/QLExpress/wiki/index/

demo代碼如下:

package com.test;
import com.ql.util.express.ExpressRunner;

public class Test {
    /**
     * 
     * @return void
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        String express1 = " 1 in (2) ";
        String express2 = " if(false){ 1} else{2} ";
        String express3 = " round(4.34,1) ";
        String express4 = " '哈哈'.equals('哈哈') ";
        ExpressRunner runner = new ExpressRunner();

        System.out.println("表達式計算:" + express1 + " 處理結果: " + runner.execute(express1, null, null, false, false) );
        System.out.println("表達式計算:" + express2 + " 處理結果: " + runner.execute(express2, null, null, false, false) );
        System.out.println("表達式計算:" + express3 + " 處理結果: " + runner.execute(express3, null, null, false, false) );
        System.out.println("表達式計算:" + express4 + " 處理結果: " + runner.execute(express4, null, null, false, false) );

    }
}

代碼運行截圖:

 

限時領取免費Java相關資料,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高並發分布式、大數據、機器學習等技術。

資料傳送門:https://mp.weixin.qq.com/s/u2b_NVNuMuAPE0w4lc45fw

 

關注下方公眾號即可免費領取:

Java碎碎念公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM