一、简介
Spring Expression Language,Spring表达式语言,简称SpEL。支持运行时查询并可以操作对象图。
和JSP页面上的EL表达式、Struts2中用到的OGNL表达式一样,SpEL根据JavaBean风格的getXxx()、setXxx()方法定义的属性访问对象图,完全符合我们熟悉的操作习惯。
二、基本语法
SpEL 使用 #{...} 作为定界符,所有在大括号中的字符都被认为是 SpEL 表达式。
三、使用字面量
整数:<property name="salary" value="#{5}"></property>
小数:<property name="salary" value="#{189.7}"></property>
科学计数法:<property name="salary" value="#{1e4}"></property>
布尔值:<property name="enabled" value="#{false}"></property>
String类型:String 类型的字面量可以使用单引号或双引号作为字符串的丁姐符号
<property name="name" value="#{'chuck'}"></property>
<property name="name" value="#{"chuck"}"></property>
四、其他操作
1、引用其他bean
引用其他bean的某个属性值
<property name="car" value="#{car}"></property>
2、引用其他bean的某个属性值
<property name="lastName" value="#{car.carName}"></property>
3、调用非静态方法
<!--
调用非静态方法; 对象.方法名
-->
<property name="gender" value="#{car.getCarName()}"></property>
4、调用静态方法
<!--调用静态方法:UUID.randomUUID().toString()
#{T(全类名).静态方法名(参数1,参数2)}
-->
<property name="email" value="#{T(java.util.UUID).randomUUID().toString()}"></property>
5、使用运算符
<property name="salary" value="#{1234*12}"></property>