Spring IOC容器基于配置文件装配Bean(9) ------bean的SpEL用法

<?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#{''}用法-->
    <!--使用SpEL给属性赋值一个字面值-->
    <bean id="addressBean" class="com.spring.cn.config.spel.AddressBean"
          p:city="成都" p:street="#{'天府大道'}"/>

    <!--carBean-->
    <bean id="carBean" class="com.spring.cn.config.spel.CarBean">
        <property name="brand" value="宝马"/>
        <property name="price" value="500000"/>
        <!-- 使用SpEL 引用类的静态变量 -->
        <property name="tyrePeremeter" value="#{T(java.lang.Math).PI * 50}"/>
    </bean>

    <!--测试通过SpEL应用addressBean和carBean的属性-->
    <bean id="personBean" class="com.spring.cn.config.spel.PersonBean">
        <property name="name" value="liangd"/>
        <!-- 通过SpEL获取其它类的属性 -->
        <property name="city" value="#{addressBean.city}"/>
        <!-- 通过SpEL引用其他类 -->
        <property name="carBean" value="#{carBean}"/>
        <!-- 通过SpEL使用运算符 -->
        <property name="info" value="#{carBean.price>300000?'金领':'白领'}"/>
    </bean>
</beans>

 

posted @ 2020-12-01 17:11  donleo123  阅读(100)  评论(0)    收藏  举报