簡體   English   中英

spEL(Spring Expression Language)的一些有效用途是什么?

[英]What are some valid uses for spEL (Spring Expression Language) ?

我正在研究spring表達式語言,如果你用於配置xml文件,它似乎非常有用。 但是,參考文檔提供了許多使用以下代碼的示例:

ExpressionParser parser = new SpelExpressionParser();

String name = parser.parseExpression

我何時以及為什么要使用它,因為我可以使用常規java來完成所有這些操作。 我是否缺少SpelExpressionParser可以使用的一些功能或其他用途? 是否還有其他用於spEL的用例我不知道?

您可以使用SpEL作為Java反射的簡化替代方法。 它為您減少了很多代碼。
我在工作中遇到的一個用例是將深度對象圖展平為名稱 - 值對,以便進行索引和查找。

客戶可以擴展對象圖,在這種情況下,還應該為其他屬性編制索引。 通過使用SpEL,客戶只需要在某些屬性文件中編寫表達式,框架代碼負責提取新數據。

Java反射的所有用例也是SpEL的潛在用例,增加了簡單性並減少了代碼。

為了評估java中的任意運行時表達式,你需要使用編譯框架,創建一個類,編譯它,加載它,綁定它,執行它,...

表達式語言和/或腳本消除了許多與您嘗試解決的問題沒有直接關系的額外工作。 使用哪種EL最有意義取決於幾個因素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM