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

我正在研究spring表达式语言,如果你用于配置xml文件,它似乎非常有用。 但是,参考文档提供了许多使用以下代码的示例:

ExpressionParser parser = new SpelExpressionParser(); String name = parser.parseExpression 

何时以及为什么我会使用它,因为我可以使用常规java来完成所有这些操作。 我是否缺少SpelExpressionParser可以使用的一些function或其他用途? 是否还有其他用于spEL的用例我不知道?

您可以使用SpEL作为Javareflection的简化替代方法。 它为您减少了很多代码。
我在工作中遇到的一个用例是将深层对象图形展平为名称 – 值对,以便进行索引和查找。

客户可以扩展对象图,在这种情况下,还应该为其他属性编制索引。 通过使用SpEL,客户只需要在某些属性文件中编写表达式,框架代码负责提取新数据。

Javareflection的所有用例也是SpEL的潜在用例,增加了简单性并减少了代码。

为了评估java中的任意运行时表达式,你需要使用编译框架,创建一个类,编译它,加载它,绑定它,执行它,…

表达式语言和/或脚本消除了许多与您尝试解决的问题没有直接关系的额外工作。 哪种EL使用最有意义取决于几个因素。