Spring表达式SpEL

Spring表达式简称SpEL,能够以一种简洁且灵活的方式将值装配到bean属性中。
使用格式: “#{…}”

  • 1. 常量

#{3.14}
#{3.14E3}
#{'Hello'}
#{false}
  • 2. 使用java中类作用域的方法和常量

#{T(System).currentTimeMills()}
  • 3. 获取其他bean的属性

#{person.personName}
  • 4. 调用其他bean的成员函数

#{person.getName()}
  • 5. 类型安全的运算符

#{person.getName()?.toUpperCase()}
  • 6. 运算符

  1. 算术运算符 + - * / % ^
  2. 比较运算符 < > == <= >= lt gt eq le ge
  3. 逻辑运算符 and or not |
  4. 条件运算 ?:(ternary) ?:(Elvis)
  5. 正则表达式 matches
#{'r = '+circle.radius}
#{2*T(java.lang.Math).PI * circle.radius}
#{circle.radius eq 100}
#{circle.radius > 100 ? "big":"small"}
  • 7. Elvis运算符

判断null
#{disc.title ?: "rattle and hum"}
  • 8. 引用列表中的一个元素

#{person.passages[4].title}
#{person.passages[T(java.lang.Math).random() * person.passages.size()].title}
#{'hello,world'[2]}
  • 9. 查询运算符

对集合进行过滤
#{person.passages.?[title eq 'see u tomorrow']}
  • 10. 匹配第一个元素

#{person.passages.^[title eq 'see u']}
  • 11. 匹配最后一个元素

#{person.passages.$[title eq 'see u']}
  • 12. 投影运算符

从集合的每个成员中选取指定的属性放到另一个集合中

#{person.passages.![title]}
#{person.passages.?[title eq 'see u'].![title]}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值