Spring Expression Language(SpEL)是 Spring 提供的强大表达式语言,支持在运行时查询和操作对象图。它类似于 OGNL 和 MVEL,但专为 Spring 生态优化设计。
核心特性
- 对象图导航:通过点号语法访问对象属性、方法、集合,如
person.address.city。 - 集合操作:支持 List、Map 的创建和访问,支持集合投影(
.![name])和选择(.?[age > 18])。 - 运算符支持:算术、关系、逻辑、赋值、三元、Elvis(
?:)等运算符。 - 正则表达式匹配:通过
matches运算符进行正则匹配。 - 类型引用与构造:通过
T(Math)引用类型,通过new构造对象。 - 变量与函数:支持
#variableName引用变量,#functionName()调用函数。
