Spring的表达式语言:(简称SpEL)是一个支持运行时查询和操作对象图的强大的表达式语言。
语法类似于EL:SpEL使用 #{ 。。}作为定界符,所有在大括号中的字符都被认为是SpEL
SpEL为Bean的动态赋值提供了便利,通过SpEL可以实现:
- 通过bean的id可以对bean进行引用
- 调用方法或对象中的属性
- 计算表达式
- 正则表达式的匹配
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--使用SpEL为属性赋一个字面值--> <bean id="address" class="SpEL.Address" p:street="#{'北京'}" p:city="五道口"/> <bean id="car" class="SpEL.Car" p:brand="Audi" p:price="5000000" p:tirePrameter="#{T(java.lang.Math).PI * 80}"/><!--使用SpEL引用类的静态属性--> <bean id="person" class="SpEL.Person"> <!--使用SpEL来引用其他的Bean--> <property name="car" value="#{car}"/> <!--使用SpEL来引用其他Bean的属性--> <property name="city" value="#{address.city}"/> <!--SpEL中使用运算符--> <property name="info" value="#{car.price>300000?'金领':'白领'}"/> <property name="name" value="Tom"/> </bean> </beans>