美文网首页Java
Java Spring-SPEL

Java Spring-SPEL

作者: 一亩三分甜 | 来源:发表于2020-01-10 16:20 被阅读0次

Spring表达式语言(SPEL):是一个支持运行时查询和操作对象图的强大的表达式语言。SPEL为bean的属性进行动态赋值提供了便利。

通过SPEL可以实现:

通过bean的id对bean进行引用

调用方法以及引用对象中的属性

计算表达式的值

正则表达式的匹配

调用静态方法或静态属性:通过T()调用一个类的静态方法,它将返回一个ClassObject,然后再调用相应的方法或属性:

<property name="initValue" value="#{T(java.lang.Math).PI}"></property>

引用例子

    <bean id="address" class="com.cloud.spring.beans.spel.Address">
        <!-- 使用spel为属性赋一个字面值 -->
        <property name="city" value="#{'BeiJing'}"></property>
        <property name="street" value="WuDaoKou"></property>
    </bean>
    <bean id="car" class="com.cloud.spring.beans.spel.Car">
        <property name="brand" value="Audi"></property>
        <property name="price" value="500000"></property>
        <!-- 使用SpEL 引用类的静态属性 -->
        <property name="tyrePerimeter" value="#{T(java.lang.Math).PI * 80}"></property>
    </bean>
    <bean id="person" class="com.cloud.spring.beans.spel.Person">
        <!-- 使用SpEL 引用其他的Bean -->
        <property name="car" value="#{car}"></property>
        <!-- 使用SpEL 来引用其他的Bean 的属性-->
        <property name="city" value="#{address.city}"></property>
        <!-- 在SpEL中使用运算符 -->
        <property name="info" value="#{car.price > 300000 ? '金领':'白领'}"></property>
        <property name="name" value="Tom"></property>
    </bean>
//输出
Address{city='BeiJing', street='WuDaoKou'}
Car{brand='Audi', price=500000.0, tyrePerimeter=251.32741228718345}
Person{name='Tom', car=Car{brand='Audi', price=500000.0, tyrePerimeter=251.32741228718345}, city='BeiJing', info='金领'}

相关文章

  • Java Spring-SPEL

    Spring表达式语言(SPEL):是一个支持运行时查询和操作对象图的强大的表达式语言。SPEL为bean的属性进...

  • Java(JavaEE)学习线路图1

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • Java学习线路图

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 大数据学习线路图

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 大数据学习教程

    Java教程 Java 教程Java 简介Java 开发环境配置Java 基础语法Java 对象和类Java 基本...

  • 一篇文章,全面解读Android面试知识点

    Java Java基础 Java集合框架 Java集合——ArrayList Java集合——LinkedList...

  • java学习路线

    javaSE java基础语法 java文件操作 java网络操作 java多线程 java数据库操作 java ...

  • java编程分类

    一、java简介java开发环境配置java基础语法java对象与类java基本数据类型java变量类型java修...

  • Java-01初识Java

    Java的3大版本 Java有三大版本,Java SE, Java ME, Java EE Java SE(Jav...

  • JAVA循环语句(四)9.29

    Java条件 if Java条件if...else Java条件多重if Java条件语句 嵌套if Java条件...

网友评论

    本文标题:Java Spring-SPEL

    本文链接:https://www.haomeiwen.com/subject/goqmactx.html