一、简介

  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>