Spring表达式简称SpEL,能够以一种简洁且灵活的方式将值装配到bean属性中。
使用格式: “#{…}”
#{3.14}
#{3.14E3}
#{'Hello'}
#{false}
#{T(System).currentTimeMills()}
#{person.personName}
#{person.getName()}
#{person.getName()?.toUpperCase()}
- 算术运算符 + - * / % ^
- 比较运算符 < > == <= >= lt gt eq le ge
- 逻辑运算符 and or not |
- 条件运算 ?:(ternary) ?:(Elvis)
- 正则表达式 matches
#{'r = '+circle.radius}
#{2*T(java.lang.Math).PI * circle.radius}
#{circle.radius eq 100}
#{circle.radius > 100 ? "big":"small"}
判断null
#{disc.title ?: "rattle and hum"}
#{person.passages[4].title}
#{person.passages[T(java.lang.Math).random() * person.passages.size()].title}
#{'hello,world'[2]}
对集合进行过滤
#{person.passages.?[title eq 'see u tomorrow']}
#{person.passages.^[title eq 'see u']}
#{person.passages.$[title eq 'see u']}
从集合的每个成员中选取指定的属性放到另一个集合中
#{person.passages.![title]}
#{person.passages.?[title eq 'see u'].![title]}