spEL:Spring 表达式语言
- 是一个支持运行时查询和操作对象图的强大的表达式语言。
- 语法类似于EL:SpEL使用
#{...}
作为定界符,所有在大框号中的字符都将被认为是SpEL
- SpEL为Bean的属性进行动态赋值提供了便利。
- 通过SpEL可以实现:
- 通过 bean 的
id
对 bean 进行引用 - 调用方法以及引用对象中的属性
- 计算表达式的值
- 正则表达式的匹配
- 通过 bean 的
SpEL 可以表示基本的字面值
|
|
SpEL 引用 bean、属性和方法
- 引用其他对象:
|
|
- 引用其他对象的属性:
|
|
- 调用其他方法,还可以链式操作
|
|
- 调用静态方法或静态属性:通过
T()
调用一个类的静态方法,它将返回一个Class Object
,然后再调用相应的方法或属性。
|
|
SpEL支持的运算符号
- 算数运算符:
+,-,×,/,%,^
- 加号还可以用作字符串连接
- 比较运算符:
<,>,==,<=,>=,lt,gt,eq,le,ge
- 逻辑运算符:
and,or,not,|
- if-else运算符:
?:(temary),?:(Elvis)
- if-else的变体
|
|
- 正则表达式:
matches