对于最新的稳定版本,请使用 Spring Framework 7.0.6!spring-doc.cadn.net.cn

Spring表达式语言(SpEL)

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

虽然有几种其他可用的Java表达式语言——例如 OGNL、MVEL 和 JBoss EL——Spring 表达式语言(SpEL)被创建出来,以向 Spring 社区提供一种统一且得到良好支持的表达式语言,该语言可以用于 Spring 产品组合中的所有产品。其语言特性由 Spring 产品组合中的项目需求驱动,包括在 Eclipse 的 Spring 工具 中的代码完成支持的工具要求。 当然,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