Spring框架中的SpEL(Spring Expression Language,Spring表达式语言)是一种基于字符串的表达式语言,用于支持在运行时动态地计算表达式的值。它可以在Spring的多个模块中使用,如Spring MVC、Spring Security等,是Spring框架中一个重要的特性。

SpEL解析器的主要作用是将SpEL表达式解析成Java对象,并在运行时计算表达式的值。Spring框架中提供了一个标准的SpEL解析器SpelExpressionParser,它可以在应用程序中进行SpEL表达式的解析和计算。

SpEL表达式由一个或多个表达式元素组成,可以包含变量、方法、运算符、常量等。例如,下面是一个简单的SpEL表达式:

#{2 + 3}

这个表达式表示对2和3进行加法运算,其结果为5。在Spring应用程序中,可以使用SpEL表达式来进行如下操作:

1、获取Bean的属性值或方法的返回值,例如:

#{user.name}  // 获取user对象的name属性值
#{user.getName()} // 调用user对象的getName()方法

2、进行运算或逻辑判断,例如:

#{2 + 3} // 返回5
#{age > 18 ? 'adult' : 'child'} // 如果age大于18,返回'adult',否则返回'child'

3、调用静态方法或实例方法,例如:

#{T(java.lang.Math).PI} // 调用Math类的静态属性PI
#{user.getAge().compareTo(18)} // 调用user对象的getAge()方法并进行比较

SpEL表达式的解析和计算是在运行时动态进行的,因此具有很大的灵活性和可扩展性,可以在不改变代码的情况下实现复杂的运算和逻辑判断。同时,SpEL表达式还支持类型转换、集合操作、正则表达式等高级特性,使得它在Spring应用程序中的使用非常广泛。

【Spring应用】SPEL表达式使用相关推荐

  1. spring之SpEL表达式

    1.什么是SpEL表达式 SpEL表达式语言是一种表达式语言,是一种可以与一个基于spring的应用程序中的运行时对象交互的东西.有点类似于ognl表达式.总得来说SpEL表达式是一种简化开发的表达式 ...

  2. Spring总结——SpEL表达式

    文章目录 SpEL表达式 SpEL表达式概述 1.什么是SpEL表达式 2.SpEL表达式的作用 SpEL的使用方式 1.xml配置的方式 2.注解的方式 SpEL表达式的调用 SpEL表达式 SpE ...

  3. Spring学习-- SpEL表达式

    转载自 https://www.cnblogs.com/goodcheap/p/6490896.html 目录 Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式 ...

  4. 【spring】spel表达式

    格式: #{ } 简单使用实例 一.DButil.java 代码实现: package springboottest.ioc.speltest;public class DBUtil {private ...

  5. Spring Cache抽象-使用SpEL表达式

    概述 SpEl表达式 概述 在Spring Cache注解属性中(比如key,condition和unless),Spring的缓存抽象使用了SpEl表达式,从而提供了属性值的动态生成及足够的灵活性. ...

  6. Spring SpEL表达式

    spring expression language 是在spring3.0以后的版本提供 它类似于ognl或el表达式,它可以提供在程序运行时构造复杂表达式来完成对象属性存储及方法调用等. Spel ...

  7. spring中的spel表达式语言

    spring in action第三版读书笔记 spring3.0引入了spring expression language(spel)语言,通过spel我们可以实现 1.通过bean的id对bean ...

  8. spring配置详解-属性注入(p名称空间SPEL表达式)

    所谓了解的话讲了一般是不会用的,看一下了解的注入方式,还有一种叫p名称空间注入方式,是Spring最近发出来的,因为Bean注入方式已经深入人心了,所以后面这两种注入方式,哪怕是好,也不愿意去用,因为 ...

  9. Spring Data JPA 从入门到精通~SpEL表达式的支持

    在 Spring Data JPA 1.4 以后,支持在 @Query 中使用 SpEL 表达式(简介)来接收变量. SpEL 支持的变量 变量名 使用方式 描述 entityName select ...

  10. Spring Aop中解析spel表达式,实现更灵活的功能

    前言 在Spring Aop中,我们可以拿到拦截方法的参数,如果能结合spel表达式,就能实现更加灵活的功能.典型的实现有Spring的缓存注解: @Cacheable(value = "u ...

最新文章

  1. Java直接内存与非直接内存性能测试
  2. 用jquery调用wcf下的各种错误码的解释。
  3. 从Spring开始,Java EE 6必须具备哪些附加功能?
  4. 设置窗口的光标,设置ToolBar,设置状态栏
  5. 苹果Siri 部门前负责人加入微软人工智能部门
  6. perl -p -i -e s/aaaaa/bbbbb/g ./*.sql
  7. Percona XtraBackup
  8. [OS] 进程相关知识点
  9. 洛谷P1005 矩阵取数游戏
  10. vue3移动端腾讯地图坐标拾取,获取当前定位(腾讯、高德、百度、天地图),火星坐标GCJ-02–>百度坐标BD-09,根据坐标经纬度计算两点距离的方法,点击链接打开地图导航的方法
  11. Eclipse常用快捷键
  12. oracle 新增字段
  13. 影响力 读后感 书评
  14. 什么是文件的绝对路径
  15. C++ 读取txt文件中数据并存入数组中
  16. python对文本文件的读写
  17. 一个投资人必须具备的心理素质 心理素质如何培养
  18. 我的2021秋招记录
  19. Echarts实现男女比例图表
  20. Micro:bit 趣味学习套件 图形化编程开发板STEM创客教育

热门文章

  1. 类似搜狐新闻的栏目定制
  2. 小学生学程序---百变服装
  3. 微信小程序-创建小程序+编写学生评教系统的学生登录页面
  4. RocketMq之消费方式
  5. Checking Table 设计模式 - 从概念、建模、设计到实现
  6. 2021.11.28
  7. 月薪20k+的Android面试都问些什么?完整PDF
  8. Java实现 蓝桥杯 算法训练 Beaver's Calculator
  9. prometheus 监控交换机流量
  10. 华为8.19笔试题目分析