spring中的表达式
1、数字,字符串赋值:#{数字/字符串},表达式中数字,和字符串可以被当做值进行赋值。如下,为属性pi赋值123。
<bean id="cus" class="com.spring.entity.Customer">
<property name="pi" value="#{123}"></property>
</bean>
在使用字符串的时候,可以调用字符串方法,如下面代码段,将字符串“zwj”转为大写后赋值给属性name。
<property name="name" value="#{'zwj'.toUpperCase()}"></property>
2、另一个bean的引用:#{bean id}
<bean id="myaddress" class="com.spring.entity.Address">
<property name="name" value="广州"></property>
</bean>
<bean id="cus" class="com.spring.entity.Customer">
<property name="name" value="#{'zwj'.toUpperCase()}"></property>
<property name="pi" value="#{123}"></property>
<!--<property name="address" ref="myaddress"></property>-->
<!--使用标签ref与使用el表达式效果一样-->
<property name="address" value="#{myaddress}"></property>
</bean>
3、操作数据:#{bean id.property name}。获取另一个bean中的属性值。如下面,取了id为“myaddress”的bean中的name属性值,赋值给id为“cus”的bean中的name属性。
<bean id="myaddress" class="com.spring.entity.Address">
<property name="name" value="广州"></property>
<property name="time" value="明天"></property>
</bean>
<bean id="cus" class="com.spring.entity.Customer">
<property name="name" value="#{myaddress.name}"></property>
</bean>
4、执行方法:#{bean.方法名}
<property name="name" value="#{myaddress.toString()}"></property>
5、使用静态方法和字段:#{T(类).字段/方法名}。如下面代码段,取用数学类中的PI属性值为pi赋值。
<bean id="cus" class="com.spring.entity.Customer">
<property name="pi" value="#{T(java.lang.Math).PI}"></property>
</bean>