Spring表达式语言:SpELjava
•Spring 表达式语言(简称SpEL):是一个支持运行时查询和操做对象图的强大的表达式语言。正则表达式
•语法相似于 EL:SpEL 使用 #{…} 做为定界符,全部在大框号中的字符都将被认为是 SpEL测试
•SpEL 为 bean 的属性进行动态赋值提供了便利对象
•经过 SpEL 能够实现:ci
–经过 bean 的 id 对 bean 进行引用it
–调用方法以及引用对象中的属性class
–计算表达式的值容器
–正则表达式的匹配语法
列子:引用
Person类
private String name;
private Car car;
private String city;
private String info;
Car类
private String carName;
private double zhouchang;
private float shouru;
Address类
private String city;
private String addressName;
IOC容器
<bean id="address" class="com.spel.Address">
<!-- spEl字面量 -->
<property name="city" value="#{'Beijing'}"></property>
<property name="addressName" value="Tiananmen"></property>
</bean>
<bean id="car" class="com.spel.Car">
<property name="carName" value="Audi"></property>
<!-- 引用类的静态属性 -->
<property name="zhouchang" value="#{T(java.lang.Math).PI*80}"></property>
<property name="shouru" value="300001"></property>
</bean>
<bean id="person" class="com.spel.Person">
<property name="name" value="Davie"></property>
<property name="car" value="#{car}"></property>
<property name="city" value="#{address.city}"></property>
<property name="info" value="#{car.shouru>300000 ? '土豪' : '雕饰' }"></property>
</bean>
结果就是测试各个bean对象都能打印出相应的结果。