Spring表达式语言(简称SpEL):是一个支持运行时查询和操作对象的强大的表达式语言。
语法类似于EL:SpEL使用#{...}作为界定符,所有在大框号中的字符都将被认为是SpEL。
SpEL为bean的属性进行动态赋值提供了便利。
通过SpEL可以实现:
- 通过bean的id对bean进行引用
- 调用方法以及引用对象中的属性
- 计算表达式的值
- 正则表达式的匹配
SpEL常用示例
使用SpEL为属性配置一个字面值
<bean id="address" class="com.spring.spel.Address">
<property name="city" value="#{'Beijing'}"></property>
</bean>
使用SpEL引用类的静态属性
<bean id="car" class="com.spring.spel.Car">
<property name="brand" value="Audi"></property>
<property name="corp" value="Shanghai"></property>
<property name="perimeter" value="#{T(java.lang.Math).PI * 80}"></property>
</bean>
使用SpEL引用其它的bean以及其中的属性
<bean id="person" class="com.spring.spel.Person">
<property name="car" value="#{car}"></property>
<property name="city" value="#{address.city}"></property>
</bean>
在SpEL中使用运算符
<property name="info" value="#{car.price > 300000 ? 'Gold Collar' : 'White Collar'}"></property>
网友评论