Spring el表达式应用

一、简介

Spring的表达式语言,简称SpELl,是一个支持运行时检查和操作对象图的强大的表达式语言,和我们之前学习过的JSP中的EL表达式类似,SPEL使用的是#{}作为定界符,所有在大括号中的字符都被认为的SPEL,SPEL为bean的属性进行动态赋值提供了非常大的便利

二、 SpringEL的使用

(1)通过bean的ID对bean进行引用,类似于 ref标签,比ref更强大

(2)可以调用方法以及引用对象的属性

// 方法
parser.parseExpression("#person.getAge()").getValue(context, Integer.class); // 方法访问
//属性
parser.parseExpression("#person.name").getValue(context, String.class);  

(3)可以进行计算

  • 关系操作符, 包括: eq(==)ne(!=)lt()<le(<=)gt(>)ge(>=)
  • 逻辑运算符, 包括: and(&&)or(||)not(!)
  • 数学操作符, 包括: 加(+), 减(-), 乘(*), 除(/), 取模(%), 幂指数(^)
  • 其他操作符, 如: 三元操作符, instanceof, 赋值(=), 正则匹配
parser.parseExpression("1 > -1").getValue(Boolean.class);         // true
parser.parseExpression("1 gt -1").getValue(Boolean.class);        // true

(4)支持正则表达式

<!-- 使用正则判断 -->

​		<property name="email" value="#{car3.getBrand() matches '\w{3,5}@\w{3,8}.(com|cn)'}"></property>

三、总结:

SpringEL表达式操作类似于jsp中的EL表达式,使用#{}作为定界符,可以进行一些常用的操作。
上一篇:【清华公开课】The Creation and Growth of Technological Enterprises


下一篇:RabbitMq概念简介