SpEL,即Spring的表达式语言,使用方式为#{ }
在bean中SpEL可以进行很多操作
为bean的属性赋值
赋值若为字符串需要用 ' ' 引起来
<bean id="adress" class="com.ustc.yi.spel.Adress">
<!--使用spel为属性赋一个字面值,注意字符串需要''引起来-->
<property name="city" value="#{'苏州'}"></property>
<property name="street" value="星湖街"></property>
</bean>
使用SpEL来引用类的静态属性:#{T(类).属性}
<bean id="car" class="com.ustc.yi.spel.Car">
<property name="brand" value="宝马"></property>
<property name="price" value="300000"></property>
<!--使用spel引用类的静态属性,要使用T-->
<property name="tyrePrimeter" value="#{T(java.lang.Math).PI*80}"></property>
</bean>
使用SpEL引用其他bean的属性和方法(相当于ref,但比ref的功能更强大),使用运算符进行动态赋值
<bean id="person" class="com.ustc.yi.spel.Person">
<!--使用spel来引用其他的bean,相当于ref-->
<property name="car" value="#{car}"></property>
<!--使用spel来引用其他bean的属性-->
<property name="city" value="#{adress.city}"/>
<!--在spel中使用运算符,进行动态赋值-->
<property name="info" value="#{car.price>=300000 ? '金领' : '白领'}"/>
<property name="name" value="yi"/>
</bean>