SpEL(Spring Expression Language)是一种表达式语言,它通常与Spring框架一起使用,用于在运行时对对象进行查询和操作。SpEL提供了一种灵活的方式来引用对象的属性、调用方法、进行条件判断等。下面是SpEL表达式的一些常见用法和示例:
-
访问对象的属性:
- 使用
${}语法来访问对象的属性。例如,${person.name}将访问person对象的name属性。
- 使用
-
调用对象的方法:
- 使用
#{}语法来调用对象的方法。例如,#{order.calculateTotal()}将调用order对象的calculateTotal方法。
- 使用
-
赋值:
- 可以使用SpEL为属性赋值。例如,
#{person.age = 30}将把person对象的age属性设置为30。
- 可以使用SpEL为属性赋值。例如,
-
条件判断:
- SpEL支持条件表达式。例如,
#{order.totalAmount > 100 ? 'Discount Applied' : 'No Discount'}会根据条件计算不同的结果。
- SpEL支持条件表达式。例如,
-
集合操作:
- SpEL可以在集合上执行操作,如获取集合的大小、访问元素等。例如,
#{orders.size()}将返回orders集合的大小。
- SpEL可以在集合上执行操作,如获取集合的大小、访问元素等。例如,
-
正则表达式匹配:
- SpEL支持正则表达式匹配操作。例如,
#{person.name matches '^J.*'}将检查person对象的name属性是否以字母“J”开头。
- SpEL支持正则表达式匹配操作。例如,
-
类型检查和转换:
- 使用
T()语法可以进行类型检查和类型转换。例如,#{T(java.math.BigDecimal).valueOf('100.00')}将创建一个BigDecimal对象。
- 使用
-
内置变量和函数:
- SpEL提供了一些内置变量和函数,如
#root表示根对象,#this表示当前对象,以及一些常用的函数如#isMember()、#concat()等。
- SpEL提供了一些内置变量和函数,如

8421

被折叠的 条评论
为什么被折叠?



