SpEL表达式
2020.01.23 10:15
2020.01.26 13:08
学习SpEL表达式
spEL表达式,即Spring Expression Language。
作用:
- 在SpEL中使用字面量
- 引用其它bean,或bean中的某个属性值
- 使用非静态方法
- 使用静态方法
- 使用运算符等
请看下面的例子:
<!--测试基于xml自动装配-->
<bean class="com.misiai.bean.Car" id="car01">
<property name="name" value="宝马"/>
<property name="price" value="90000"/>
<property name="color" value="黑色"/>
</bean>
<bean class="com.misiai.bean.Student" id="student"/>
<!--测试spel表达式-->
<bean id="book" class="com.misiai.bean.Book">
<property name="name" value="十万个冷笑话"/>
<property name="price" value="30"/>
</bean>
<bean id="student02" class="com.misiai.bean.Student">
<!--计算表达式-->
<property name="salary" value="#{120*31}"/>
<!--引用某个属性-->
<property name="name" value="#{book.name}"/>
<!--引用bean-->
<property name="car" value="#{car01}"/>
</bean>
结果:
调用静态方法:
表达式:#{T(静态方法全限定类名).方法}
<!--调用静态/非静态方法-->
<bean id="student03" class="com.misiai.bean.Student">
<property name="sno" value="#{T(java.util.UUID).randomUUID().toString()}"/>
</bean>
@Test
public void test03() {
Student student03 = ap.getBean("student03", Student.class);
System.out.println(student03.getSno());
}
结果:
非静态方法:
语法:#{对象.方法名}
<!--调用静态/非静态方法-->
<bean id="student03" class="com.misiai.bean.Student">
<property name="sno" value="#{T(java.util.UUID).randomUUID().toString()}"/>
<property name="name" value="#{book.name}"/>
</bean>
本节阅读完毕!
(分享)