zoukankan      html  css  js  c++  java
  • Spring表达式语言SpEL简单介绍

    Spring3引入了Spring表达式语言(Spring Expression Language,SpEL)。

    SpEL有非常多特性。比較经常使用的包含:

    1、使用bean的id来引用bean,

    以下这个样例就是将卧室这个bean通过SpEL注入到house这个bean的bedroom属性中。

    <bean id="bedroom" class="go.derek.Bedroom"/>
     <bean id="house" class="go.derek.House">
      <property name="bedroom" value="#{bedroom}"/>
     </bean>


    2、訪问对象的属性和调用方法,

    添加一个snoopy的bean。bark()方法能够返回狗狗的叫声。以下能够看到通过SpEL将snoopy的name属性和bark方法的返回值注入来house这个bean相应的属性其中。

    <bean id="snoopy" class="go.derek.Snoopy"/>

    <bean id="house" class="go.derek.House">
      <property name="bedroom" value="#{bedroom}"/>
      <property name="dog" value="#{snoopy.name}"/>

    <property name="sound" value="#{snoopy.bark()}"/>
     </bean>


    3、对值进行算术、关系和逻辑运算,

    添加一个robot的bean,这个机器人通过运行countRooms()方法能够统计出house中的房间数量。但总房间数还要加上卫生间,客厅,书房等等~

    house中的isEqual属性是boolean类型的值。能够通过SpEL来推断。

    <bean id="robot" class="go.derek.Robot"/>

    <bean id="house" class="go.derek.House">
      <property name="bedroom" value="#{bedroom}"/>
      <property name="dog" value="#{snoopy.name}"/>
      <property name="sound" value="#{snoopy.bark()}"/>
      <property name="roomCount" value="#{robot.countRooms()+6}"/>

      <property name="isEqual" value="#{snoopy.age==3}"/>
     </bean>


    此外还有正則表達式匹配和集合操作,大家感兴趣能够查阅相关文档,这里就不给大家赘述了~

  • 相关阅读:
    第六章 虹销雨霁(中)
    第四章 曙光初现(下)
    第三章 曙光初现(上)
    第二章 福祸相伴(下)
    第二章 福祸相伴(上)
    小云(云层-陈霁)的发展史
    小白成长建议(9)-苞丁解牛
    NYoj 116士兵杀敌(二)区间求和,单点更新
    HDU 1754 区间查询,单点更新
    《灯亮or灯灭》 --有个有趣的数论问题
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6950075.html
Copyright © 2011-2022 走看看