SpEL

作者: 极客_Ls | 来源:发表于2019-02-18 09:43 被阅读1次

Spring 表达式语言 (SpEL):
支持运行时查询和操作对象1图的强大的表达式语言;

其语法类似 EL : Sp EL 使用 # 作为定界符,所有在大括号中的字符都将被认为是 SpEL;

SpEL 为 Bean 的属性进行动态赋值提供里了便利;

通过 SpEL 可以实现:

  • 通过 Bean 的 id 对 Bean 进行引用;
  • 调用方法以及引用对象中的属性;
  • 计算表达式的值:(算术运算,关系运算,逻辑运算);
  • 正则表达式的匹配;
//通过 Bean 的 id 对 Bean 进行引用;#{id}

//引用外部properties属性文件
<context:property-placeholder location="classpath:SpringXml.properties" file-encoding="gbk"></context:property-placeholder>
//配置配置 car 的 Bean
<bean id="car2" class="com.laishuai.pojo.Car" p:name="${car}" ></bean>
//配置 person1 的 Bean,引用 car2 的配置
<bean id="person1" class="com.laishuai.pojo.Person" p:name="LaiShuai" p:car="#{car2}"></bean>
//调用方法以及引用对象中的属性;#{id.pro}

//car0;
<bean id="car0" class="com.laishuai.pojo.Car" p:name="宝马car0"bean>
//person0,通过自动装配匹配 car0;
<bean id="person0" class="com.laishuai.pojo.Person" p:name="LaiShuai" autowire="byName"></bean>
/**
 * person2 ,通过 SpEL 匹配 person0;
 * 匹配person0的name,并进行字母大写操作;调用方法以;
 * 匹配person0的car;引用对象中的属性 */ 
<bean id="person2" class="com.laishuai.pojo.Person" p:name="#{person1.name.toUpperCase()}" p:car="#{person0.car}"></bean>

//- 计算表达式的值:算术运算

<bean id="driver0" class="com.laishuai.pojo.Driver">
    <property name="name" value="LaiShuai"></property>
    <property name="age" value="10"></property>
    <property name="cars" ref="car"></property>
</bean>

<bean id="driver1" class="com.laishuai.pojo.Driver">
    <property name="name" value="ShuMin"></property>
    <property name="age" value="#{driver0.age > 10 ? 10:100}"></property>
    <property name="cars" ref="car"></property>
</bean>

相关文章

  • 基于SpEL实现springboot 集成mongo动态集合存储

    SpEL概念 SpEL全称为“Spring Expression Language”,简写为“SpEL”,Spri...

  • 如何通过aop+spel表达式玩转出不一样的切面实现

    前言 在介绍正文前,我们先来讲下spel 什么是spel Spring表达式语言(简称“ SpEL”)是一种功能强...

  • Java使用SpEL

    什么是SpEL SpEL(Spring Expression Language),即Spring表达式语言。它与J...

  • Spring 表达式语言SpEL

    1、SpEL概述 Spring Expression Language(SpEL)是一种强大的表达式语言,支持在运...

  • Spring 通过 SpEL 为 bean 赋值

    SpEL 字面量的表示 整数: 小数: 科学计数法: 字符串: 或 Boolean: SpEL 引用 Bean、属...

  • SpEL

  • Spel

    前言:此文章主要解决你不能使用jdk8处理集合的情况还有一些模板的使用,使用字符串调用方法1.模板替换 resul...

  • SpEL

    Spring 表达式语言 (SpEL):支持运行时查询和操作对象1图的强大的表达式语言; 其语法类似 EL : S...

  • SpEL

    Spring表达式语言(SpEL),它的特性包括: 使用bean的ID来引用bean. 调用方法和访问对象的属性。...

  • SpEL表达式注入漏洞

    一、什么是SpEL 表达式 Spring Expression Language(简称 SpEL)是一种功能强大的...

网友评论

      本文标题:SpEL

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