2011-12-25 176 views
12

我在看春季表達式語言,如果您使用配置xml文件,它似乎非常有用。然而,參考文檔提供很多的使用下面的下面的代碼示例:什麼是spEL(Spring表達式語言)的一些有效用途?

ExpressionParser parser = new SpelExpressionParser(); 

String name = parser.parseExpression 

何時以及爲什麼我使用這個我可以使用常規的Java做的這一切。我是否缺少SpelExpressionParser可能方便的某些功能或其他用途?我還沒有意識到spEL還有其他用例嗎?

回答

10

您可以使用SpEL作爲Java反射的簡化替代方法。它爲你減少了很多代碼。
我的工作之一就是將深層對象圖平化爲名稱 - 值對,以便進行索引和查找。

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

所有的use-cases of Java reflection也是SpEL的潛在用例,增加了簡單性並減少了代碼量。

+0

謝謝你的例子。 – user373201 2011-12-25 18:38:56

2

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

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

相關問題