SpEL Spring Expression Language
语法结构#{}
能取值 需要外部的文件 类似上一文档刚讲过的properties ${key}
Spring管理对象的DI注入
- 管理对象属性的注入 基本类型 int float boolean String

<bean id="computer" class="domain.Computer"><constructor-arg name="name" value="#{'huawei'}"></constructor-arg><constructor-arg name="price" value="#{8000}"></constructor-arg><constructor-arg name="status" value="#{true}"></constructor-arg></bean>
- 赋值同时做一些运算
算术 + - * / %都没有问题 ^Java是位运算 ^Spring是幂运算
比较 > >= < <= != == gt ge lt le ne eq
逻辑 没有与符号 || ! and or not
<bean id="computer" class="domain.Computer"><constructor-arg name="name" value="#{'huawei'}"></constructor-arg><constructor-arg name="price" value="#{100^2}"></constructor-arg><constructor-arg name="status" value="#{10>5}"></constructor-arg></bean>

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


<bean id="logo" class="domain.Logo"><constructor-arg name="name" value="huawei"></constructor-arg><constructor-arg name="color" value="grey"></constructor-arg></bean><bean id="computer" class="domain.Computer"><constructor-arg name="name" value="#{logo.name}"></constructor-arg><constructor-arg name="price" value="#{100^2}"></constructor-arg><constructor-arg name="status" value="#{logo.name.equals('weihua')}"></constructor-arg><constructor-arg name="logo" value="#{logo}"></constructor-arg></bean>

可以引入静态常量
<bean id="logo" class="domain.Logo"><constructor-arg name="name" value="huawei"></constructor-arg><constructor-arg name="color" value="grey"></constructor-arg></bean><bean id="computer" class="domain.Computer"><constructor-arg name="name" value="#{logo.name}"></constructor-arg><constructor-arg name="price" value="#{T(Math).PI}"></constructor-arg><constructor-arg name="status" value="#{logo.name.equals('weihua')}"></constructor-arg><constructor-arg name="logo" value="#{logo}"></constructor-arg></bean>

