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

Spring 表达式语言 (SpEL)

Spring 表达式语言(简称“SPEL”)是一种强大的表达式语言,它 支持在运行时查询和操作对象图。语言语法为 类似于 Jakarta Expression 语言,但提供了额外的功能,最值得注意的是方法调用和基本字符串 模板功能。spring-doc.cn

虽然还有其他几种可用的 Java 表达式语言 — OGNL、MVEL 和 JBoss EL,仅举几例 — Spring 表达式语言的创建是为了提供 Spring 社区,该社区具有一种受支持的表达式语言,可用于所有 Spring 产品组合中的产品。它的语言功能由 Spring 产品组合中项目的要求,包括工具要求 以获取 Spring Tools for Eclipse 中的代码完成支持。 也就是说,SPEL 基于一个与技术无关的 API,它允许其他表达式语言 如果需要,可以集成 implementations。spring-doc.cn

虽然 SpEL 是 Spring 中表达式评估的基础 portfolio 中,它不直接与 Spring 绑定,可以独立使用。自 是自包含的,本章中的许多示例都使用 SpEL,就好像它是一个 独立的表达式语言。这需要创建一些引导 infrastructure 类,例如 parser 的 Parser 等。大多数 Spring 用户不需要处理 此基础结构,而是只能创作表达式字符串进行评估。 这种典型用途的一个示例是将 SPEL 集成到创建 XML 或 基于注释的 Bean 定义,如定义 Bean 定义的表达式支持中所示。spring-doc.cn

本章介绍表达式语言、其 API 及其语言的功能 语法。在多个地方,类被用作目标 对象进行表达式计算。这些类声明和用于 填充它们列在本章末尾。InventorSocietyspring-doc.cn

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