Spring之SpEL表达式
来源:互联网 发布:淘宝u站关闭了 编辑:程序博客网 时间:2024/04/29 19:04
最近在学习《Spring实战》一书的过程中发现Spring中的表达式SpEL的应用范围还是很广泛的,特意整理一下SpEL的用法如下:
首先,说一说SpEl表达式支持的特性有:
使用Bean的ID来引用Bean;
调用方法和访问对象的属性;
对值进行算术、关系和逻辑运算;
正则表达式匹配;
集合操作;
1、引用Bean和访问Bean的属性略过,以下是访问Bean的方法:
<property name = "song" value = "#{songSelector.selectSong()}"/>
2、通过使用T()运算符调用类作用域的方法
<property name = "multiplier" value = "#{T(java.lang.Math).PI}"/><property name = "randomNumer" value = "#{T(java.lang.Math).random()"/>
pEL支持所有java基础算术运算符,还支持^运算符进行乘方运算
4、SpEL支持比较运算符和其文本替代方式:
<property name = "hasCapacity" value = "#{counter.total le 10000}" />
le 即小于等于。类似还有,eq (==),lt(<),gt(>),ge(>=)
5、SpEL对正则表达式的支持
<property name = "validEmail" value = "#{admin.email matches '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.com'}"/>
6、对集合的操作
通过索引访问集合:
<property name = "chosenCity" value = "#{cities[2]}"/>
访问.properties配置文件所声明集合中的属性:
<util:properties id = "settings" location = "classpath:settings.properties"/><property name = "accessToken" value = "{settings['twitter.accessToken']}"/>
访问systemEnvironment和systemProperties:
systemEnvironment包含应用程序所在机器上的所有环境变量。
systemProperties包含了Java应用程序启动时所设置的所有属性。
示例:
<property name = "homePath" value = "#{systemEnvironment['HOME']}" /><property name = "homePath" value = "#{systemProperties['application.home']}"/>
查询集合成员
利用” . ?[ ] “运算符查询满足条件的集合成员:
<property name = "bigCities" value = "#{cities.?[population gt 100000]}" />
同样还有“ . ^[ ] ”查询第一个匹配项和 “ . $[ ] ”查询最后一个匹配项
投影集合
集合投影是从集合的每一个成员中选择特定的属性放入一个新的集合中,
利用SpEL的投影运算符“ .![ ] ”可以实现集合投影。
<property name = "cityNames" value = "#{cities.![name]}" />
阅读全文
1 0
- Spring 之SPEL表达式
- Spring之SpEL表达式
- Spring表达式语言 之 5.3 SpEL语法
- Spring 表达式语言之 SpEL 语法
- Spring表达式语言之SpEL语法
- Spring Security3 SpEL表达式
- Spring SpEL表达式
- SPEL-Spring表达式
- spring的SpEl表达式
- Spring SpEL表达式
- spring表达式语言spel
- Spring 表达式语言(SpEL)
- Spring表达式语言SpEL
- Spring 表达式语言 (SpEL)
- Spring 表达式语言:SpEL
- Spring表达式语言:SpEL
- spring中的spel表达式
- Spring SpEL表达式语言
- TableView 展开和折叠
- 时间复杂度和空间复杂度
- 2017 年你不能错过的 Java 类库
- input checkbox 全选与取消全选
- 跟我学习dubbo-Dubbo管理控制台的安装(3)
- Spring之SpEL表达式
- 注解
- 免费仿站工具 克隆对手网站的软件
- 基于SQL语句的Spring多数据源配置
- ajax提交url 与ajax提交表单的比较
- 静态的应用--工具类
- 登录页面——链接数据库
- RFCN论文笔记
- 如何唯一的标识一台Android设备