此版本仍在开发中,尚不被认为是稳定的。对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
Spring 表达式语言 (SpEL)
Spring 表达式语言(简称“SpEL”)是一种功能强大的表达式语言,它 支持在运行时查询和作对象图。语言语法是 与雅加达表达式相似 语言,但提供了额外的功能,最显着的是方法调用和基本字符串 模板功能。
虽然还有其他几种可用的 Java 表达式语言——OGNL、MVEL 和 JBoss EL 的 Spring 表达式语言,仅举几例——Spring 表达式语言的创建是为了提供 Spring 社区,具有一种支持良好的表达式语言,可在所有 Spring 产品组合中的产品。它的语言特性是由 Spring 产品组合中项目的要求,包括工具要求 在 Spring Tools for Eclipse 中支持代码完成。 也就是说,SpEL 基于一个与技术无关的 API,它允许其他表达式语言 如果需要,应集成实施。
而 SpEL 是 Spring 中表达评估的基础 portfolio,它不直接绑定到 Spring,可以独立使用。自 是自包含的,本章中的许多示例都使用 SpEL,就好像它是 独立表达式语言。这需要创建一些引导 基础设施类,例如 parser。大多数 Spring 用户无需处理 此基础结构,并且只能创作表达式字符串以进行评估。 这种典型用途的一个例子是将 SpEL 集成到创建 XML 或 基于注释的 Bean 定义,如 表达式支持定义 Bean 定义中所示。
本章介绍表达式语言的功能、其 API 及其语言
语法。在几个地方,Inventor
和Society
类用作目标
用于表达式评估的对象。这些类声明和用于
填充它们列在本章末尾。
表达式语言支持以下功能:
-
文字表达式
-
访问属性、数组、列表和映射
-
内联列表
-
内联地图
-
阵列构造
-
关系运算符
-
正则表达式
-
逻辑运算符
-
字符串运算符
-
数学运算符
-
分配
-
类型表达式
-
方法调用
-
构造函数调用
-
变量
-
用户定义的功能
-
Bean 参考资料
-
三元、猫王和安全导航操作员
-
藏品投影
-
系列选择
-
模板化表达式