Spring4 學習系列之——SpEl表達式的使用

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對象都能打印出相應的結果。

相關文章
相關標籤/搜索