Spring的表达式语言:SPEL

Spring的表达式语言:(简称SpEL)是一个支持运行时查询和操作对象图的强大的表达式语言。

    语法类似于EL:SpEL使用 #{ 。。}作为定界符,所有在大括号中的字符都被认为是SpEL

    SpEL为Bean的动态赋值提供了便利,通过SpEL可以实现:

    - 通过bean的id可以对bean进行引用

    - 调用方法或对象中的属性

    - 计算表达式

    - 正则表达式的匹配






<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--使用SpEL为属性赋一个字面值-->
    <bean id="address" class="SpEL.Address"
          p:street="#{'北京'}"
          p:city="五道口"/>

    <bean id="car" class="SpEL.Car"
          p:brand="Audi"
          p:price="5000000"
          p:tirePrameter="#{T(java.lang.Math).PI * 80}"/><!--使用SpEL引用类的静态属性-->

    <bean id="person" class="SpEL.Person">
        <!--使用SpEL来引用其他的Bean-->
        <property name="car" value="#{car}"/>
        <!--使用SpEL来引用其他Bean的属性-->
        <property name="city" value="#{address.city}"/>
        <!--SpEL中使用运算符-->
        <property name="info" value="#{car.price>300000?'金领':'白领'}"/>

        <property name="name" value="Tom"/>
    </bean>

</beans>


猜你喜欢

转载自blog.csdn.net/qq_30604989/article/details/80532367