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

use*_*201 17 java spring

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

ExpressionParser parser = new SpelExpressionParser();

String name = parser.parseExpression
Run Code Online (Sandbox Code Playgroud)

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

Ara*_*ram 11

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

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

Java反射的所有用例也是SpEL的潜在用例,增加了简单性并减少了代码.