SpEL Spring Expression Language
    语法结构#{} 能取值 需要外部的文件 类似上一文档刚讲过的properties ${key}

    Spring管理对象的DI注入

    1. 管理对象属性的注入 基本类型 int float boolean String

    image.png

    1. <bean id="computer" class="domain.Computer">
    2. <constructor-arg name="name" value="#{'huawei'}"></constructor-arg>
    3. <constructor-arg name="price" value="#{8000}"></constructor-arg>
    4. <constructor-arg name="status" value="#{true}"></constructor-arg>
    5. </bean>


    1. 赋值同时做一些运算

    算术 + - * / %都没有问题 ^Java是位运算 ^Spring是幂运算
    比较 > >= < <= != == gt ge lt le ne eq
    逻辑 没有与符号 || ! and or not
    image.png

    1. <bean id="computer" class="domain.Computer">
    2. <constructor-arg name="name" value="#{'huawei'}"></constructor-arg>
    3. <constructor-arg name="price" value="#{100^2}"></constructor-arg>
    4. <constructor-arg name="status" value="#{10>5}"></constructor-arg>
    5. </bean>

    image.png

    1. 赋值的时候可能遇到对象形式(可以操作对象的属性和方法)

    image.png
    image.png

    1. <bean id="logo" class="domain.Logo">
    2. <constructor-arg name="name" value="huawei"></constructor-arg>
    3. <constructor-arg name="color" value="grey"></constructor-arg>
    4. </bean>
    5. <bean id="computer" class="domain.Computer">
    6. <constructor-arg name="name" value="#{logo.name}"></constructor-arg>
    7. <constructor-arg name="price" value="#{100^2}"></constructor-arg>
    8. <constructor-arg name="status" value="#{logo.name.equals('weihua')}"></constructor-arg>
    9. <constructor-arg name="logo" value="#{logo}"></constructor-arg>
    10. </bean>

    image.png

    1. 可以引入静态常量

      1. <bean id="logo" class="domain.Logo">
      2. <constructor-arg name="name" value="huawei"></constructor-arg>
      3. <constructor-arg name="color" value="grey"></constructor-arg>
      4. </bean>
      5. <bean id="computer" class="domain.Computer">
      6. <constructor-arg name="name" value="#{logo.name}"></constructor-arg>
      7. <constructor-arg name="price" value="#{T(Math).PI}"></constructor-arg>
      8. <constructor-arg name="status" value="#{logo.name.equals('weihua')}"></constructor-arg>
      9. <constructor-arg name="logo" value="#{logo}"></constructor-arg>
      10. </bean>

      image.png