
上QQ阅读APP看书,第一时间看更新
5.2 表达式解析原理
SpEL的核心功能就是提高字符串的处理能力。为了帮助用户更好地理解表达式的工作原理,下面将通过一个具体程序进行分析。
范例:【mldnspring-base模块】编写一个数学计算表达式。

本程序定义了一个简单的数学计算表达式,该表达式在Spring中的处理流程如图5-1所示。

图5-1 SpEL处理流程
在整个SpEL的处理过程中,要针对给定的标记进行识别,而后根据识别后的结果进行相应内容的转换处理。由于表达式中可能进行各种变量内容的设置,所以还需要有一个上下文的变量环境。最终才可以计算出一个完整的结果。
提示:开发者只关注表达式语句编写。
通过一系列的范例可以发现,如果要想实现SpEL表达式的使用,除了要编写表达式,还需要编写一系列的处理类才可以执行完毕,这些都属于表达式的处理过程。在实际开发中如果结合Spring容器进行配置,开发者只需要编写表达式即可,对于处理过程中的操作类可以暂时忽略。