CDI FEATURES

Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。

语法类似于 EL:SpEL 使用 #{...} 作为定界符 , 所有在大括号中的字符都将被认为是 SpEL , SpEL 为 bean 的属性进行动态赋值提供了便利。

通过 SpEL 可以实现:

  • 通过 bean 的 id 对 bean 进行引用。
  • 调用方式以及引用对象中的属性。
  • 计算表达式的值
  • 正则表达式的匹配。

SpEL 字面量:

  • 整数:#{8}
  • 小数:#{8.8}
  • 科学计数法:#{1e4}
  • String:可以使用单引号或者双引号作为字符串的定界符号。
  • Boolean:#{true}

SpEL引用bean , 属性和方法:

  • 引用其他对象:#{car}
  • 引用其他对象的属性:#{car.brand}
  • 调用其它方法 , 还可以链式操作:#{car.toString()}
  • 调用静态方法静态属性:#{T(java.lang.Math).PI}

 SpEL支持的运算符号:

  • 算术运算符:+,-,*,/,%,^(加号还可以用作字符串连接)
  • 比较运算符:< , > , == , >= , <= , lt , gt , eg , le , ge
  • 逻辑运算符:and , or , not , |
  • if-else 运算符(类似三目运算符):?:(temary), ?:(Elvis)
  • 正则表达式:#{admin.email matches '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}'}

 

posted @ 2019-04-14 17:18  初露de晨曦  阅读(101)  评论(0编辑  收藏  举报