一、简介
Spring Expression Language,Spring表达式语言,简称SpEL。支持运行时查询并可以操作对象图。
和JSP页面上的EL表达式、Struts2中用到的OGNL表达式一样,SpEL根据JavaBean风格的getXxx()、setXxx()方法定义的属性访问对象图,完全符合我们熟悉的操作习惯。
二、基本语法
SpEL 使用 #{...} 作为定界符,所有在大括号中的字符都被认为是 SpEL 表达式。
三、使用字面量
整数:<property name="salary" value="#{5}"></property>
小数:<property name="salary" value="#{189.7}"></property>
科学计数法:<property name="salary" value="#{1e4}"></property>
布尔值:<property name="enabled" value="#{false}"></property>
String类型:String 类型的字面量可以使用单引号或双引号作为字符串的丁姐符号
<property name="name" value="#{'chuck'}"></property>
<property name="name" value="#{"chuck"}"></property>
四、其他操作
1、引用其他bean
引用其他bean的某个属性值
<property name="car" value="#{car}"></property>
2、引用其他bean的某个属性值
<property name="lastName" value="#{car.carName}"></property>
3、调用非静态方法
<!--
调用非静态方法; 对象.方法名
-->
<property name="gender" value="#{car.getCarName()}"></property>
4、调用静态方法
<!--调用静态方法:UUID.randomUUID().toString()
#{T(全类名).静态方法名(参数1,参数2)}
-->
<property name="email" value="#{T(java.util.UUID).randomUUID().toString()}"></property>
5、使用运算符
<property name="salary" value="#{1234*12}"></property>
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战