Spring_表达式语言SpEL

锲而舍之,朽木不折;锲而不舍,金石可镂。

SpEL(Spring Expression Language, SpEL)

  在依赖注入中,SpEL能够以一种强大和简洁的方式将值装配到bean属性和构造器参数中。

  SpEL拥有很多特性:

  1)使用bean的ID来引用bean;

  2)调用方法和访问对象的属性;

  3)对值进行算术、关系和逻辑运算;

  4)正则表达式匹配;

  5)集合操作。

 

使用bean的ID来引用bean

   Spring使用 #{beanID.property}或#{beanID.method()}的形式使用SpEL语言引用其他bean的属性和方法。

  #{beanID.method()?.toUpperCase()}使用了类型安全运算符 ?. ,这个运算符能够在它右边的内容之前,确保它所对应的元素不是null。

 

在表达式中使用类型

  在SpEL中通过T()这个关键的运算符来访问类作用域的静态方法和常量。

  #{T(java.lang.Math).random()}

 

SpEL运算符

  在SpEL中用来操作表达式值的运算符如下:

  1)算术运算符:+, -, *, /, %, ^

  2)比较运算符:<, >, ==, <=, >=, lt, gt, eq, le, ge

  3)逻辑与算符:and, or, not, |

  4)条件运算符:?: (ternary), ?: (Elvis),其中?:(Elvis)用来检查Null值,并用一个默认值代替null

  5)正则表达式:matches

  6)查询运算符:

        .?[],它会用来对集合进行过滤,得到集合的一个子集;

        .^[],它用来在集合中查询第一个匹配项;

        .$[],它用来在集合 中查询最后一个匹配项。

  7)投影运算符:.![],它会从集合的每个成员中选择特定的属性放到另一个集合中去。

 

posted @ 2018-04-17 22:18  学而时习之,不亦说乎?  阅读(385)  评论(0编辑  收藏  举报