Spring表达式语言的精确使用

Sug*_*lai 2 java spring el spring-mvc

我正在努力学习Spring,所以从这里我得到了这个例子,

ExpressionParser parser = new SpelExpressionParser();

// evals to "Hello World"
String helloWorld = (String) parser.parseExpression("'Hello World'").getValue();
Run Code Online (Sandbox Code Playgroud)

但我不明白它的确切用法,因为我可以更好地将它声明为

String helloWorld = "Hello World";
Run Code Online (Sandbox Code Playgroud)

那么上面的具体用途是什么呢SpEL

我可以在哪里更好地使用它?

chr*_*ke- 5

那个特定的 SpEL毫无用处。当传递给解析器的表达式来自某些外部源(例如注释值或 XML 属性)时,它非常有用。对于 Stack Overflow 来说,对 EL 的全面解释过于宽泛,但我建议查看Thymeleaf来了解 EL 如何发挥作用的示例。

(另请注意,使用getValue(String.class)而不是强制转换要好得多,因为它更安全,而且您可以利用自动类型转换。)