Spring表达式语言(SpEL)

Spring表达式语言(简称“SpEL”)是一种功能强大的表达式语言,支持在运行时查询和操作对象图。该语言的语法类似于Jakarta表达式语言,但提供了更多特性,尤其是方法调用和基础字符串模板功能。spring-doc.cadn.net.cn

尽管还有其他几种可用的 Java 表达式语言——例如 OGNL、MVEL 和 JBoss EL——但 Spring 表达式语言(SpEL)的创建旨在为 Spring 社区提供一种统一且得到良好支持的表达式语言,可在整个 Spring 产品组合中使用。其语言特性由 Spring 产品组合中各个项目的需求所驱动,包括 Spring Tools IDE 支持中的代码补全等工具需求。需要说明的是,SpEL 基于一种与技术无关的 API,如有需要,可集成其他表达式语言实现。spring-doc.cadn.net.cn

虽然SpEL是Spring产品组合中表达式评估的基础,但它并不直接与Spring绑定,可以独立使用。为了自包含,本章中的许多示例将SpEL当作独立的表达式语言来使用。这需要创建一些引导基础设施类,例如解析器。大多数Spring用户不需要处理这些基础设施,而是可以仅编写用于评估的表达式字符串。这种典型用法的一个例子是将SpEL集成到创建基于XML或注解的bean定义中,如 用于定义bean定义的表达式支持所示。spring-doc.cadn.net.cn

本章介绍表达式语言的功能、其API及其语言语法。在多个地方,InventorSociety类被用作表达式求值的目标对象。这些类的声明以及用于填充它们的数据列在本章末尾。spring-doc.cadn.net.cn

表达式语言支持以下功能:spring-doc.cadn.net.cn