SpEL笔记
SpEL使用示例
<bean id="chineseA" class="com.xxx.bean.Chinese" scope="prototype">
<constructor-arg value="Li Lei"/>
<constructor-arg value="15"/>
<constructor-arg ref="dogA"/>
</bean> <!-- SpEL示例 -->
<bean id="americanB" class="com.xxx.bean.American">
<!-- 直接赋值 -->
<property name="name" value="#{'Mike Sui'}" />
<!-- T()访问类的静态域与运算符的使用 -->
<property name="age" value="#{T(java.lang.Math).random() * 10}" />
<!-- 使用其他类实例成员赋值 -->
<property name="pet" value="#{americanA.pet}" />
</bean> <bean id="americanC" class="com.xxx.bean.American">
<property name="name" value="#{americanB.name}" />
<!-- 运算符的使用 -->
<!-- 包括 gt(>), eq(=), lt(<), ge(>=), le(<=) -->
<!-- 逻辑运算符 and, or, not -->
<property name="age" value="#{(americanB.age gt 10) and (americanB.age le 18)? americanB.age : 10}" />
<!-- 正则的使用 -->
<property name="validEmail" value="#{americanB.email matches '[a-zA-Z0-9._]+@[a-zA-Z0-9.]+\\.com'}" />
<!-- 安全取值操作符 "?.", 为NULL是不会执行下步操作 -->
<property name="petName" value="#{americanA.getPet()?.getName}" /> </bean> <!-- util 集合的使用 -->
<util:list id="cities">
<bean class="com.xxx.bean.City"
p:name="Beijing" p:population="1500000" />
<bean class="com.xxx.bean.City"
p:name="Shanghai" p:population="2000000" />
<bean class="com.xxx.bean.City"
p:name="Shaoguan" p:population="400000" />
<bean class="com.xxx.bean.City"
p:name="Hangzhou" p:population="800000" />
</util:list> <bean id="chinese" class="com.xxx.bean.Chinese">
<!-- 集合成员的访问 -->
<property name="city" value="#{cities[2]}" />
<property name="country" value="#{countries['Dallas']}" />
<!-- 集合成员的过滤 ".?[]" 操作符的使用 -->
<!-- 筛选人口多余1000000的城市 -->
<property name="myCities" value="#{cities.?[population gt 1000000]}" />
<!-- 获取集合中所有成员的某个属性 ".![]" 操作符的使用 -->
<property name="cityNames" value="#{cities.?[population gt 1000000].![name]}" />
<!-- 获取集合中第一个和最后一个匹配项 ".^[] .$[]的使用" -->
<property name="firstCity" value="#{cities.^[population gt 1000000]}" />
<property name="lastCity" value="#{cities.$[population gt 1000000]}" />
</bean>
SpEL笔记的更多相关文章
- [原创]java WEB学习笔记100:Spring学习---Spring Bean配置:SpEL详细介绍及代码演示
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Spring实战学习笔记之SpEL表达式
在Spring XML配置文件中装配Bean的属性和构造参数都是静态的,而在运行期才知道装配的值,就可以使用SpEL实现 SpEL表达式的首要目标是通过计算获得某个值. ...
- Spring3表达式语言(SpEL)学习笔记
最新地址请访问:http://leeyee.github.io/blog/2011/06/19/spring-expression-language Spring Excpression Langua ...
- Spring学习笔记--在SpEL中筛选集合
要用到Spring的util(包括util:list等),xml文件中的beans中需要添加一些有关util的信息: <?xml version="1.0" encoding ...
- Spring学习笔记--Spring表达式语言SpEL
Spring3引入了Spring表达式语言(Spring Expression Language,SpEL).SpEL是一种强大的.简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean ...
- spring in action 学习笔记十三:SpEL语言(Spring Expression Language)
SpEl语言的目的之一是防止注入外部属性的代码硬代码化.如@Value("#{student.name}")这个注解的意思是把Student类的name的属性值注入进去.其中stu ...
- Spring学习笔记(14)——SpEL
是什么 Spring表达式语言全称为"Spring Expression Language",缩写为"SpEL",类似于Struts2x中使用的OGNL表达式语 ...
- Spring4学习笔记 - SpEL表达式
- Spring Boot笔记二:快速创建以及yml文件自动注入
上个笔记写了如何自己去创建Spring boot,以及如何去打jar包,其实,还是有些麻烦的,我们还自己新建了几个文件夹不是. Idea可以让我们快速的去创建Spring boot应用,来看 一.快速 ...
随机推荐
- 使用OpenSSL自签发服务器https证书
OpenSSL官方推荐win32可执行文件版下载:http://www.slproweb.com/products/Win32OpenSSL.html ca.key CA私钥: openssl gen ...
- sicily 1154. Easy sort (tree sort& merge sort)
Description You know sorting is very important. And this easy problem is: Given you an array with N ...
- 快速提高 Vi/Vim 使用效率的原则与途径
Vi/Vim 是所有 Unix/Linux 操作系统默认配备的编辑器.因其强大的功能和高效的操作,Vi/Vim 也成为众多 Unix/Linux 用户.管理员必须掌握并熟练使用的编辑工具之一.尤其是在 ...
- Number 和 parseInt 区别
把字符串 转换成 数字的时候, Number 有点不靠谱, 因为会对 '' 和 null 转换成0, parseInt 相对靠谱些; 判断是否是数值时, isNaN 对于字符串'2'的判断是数字, 对 ...
- 【BZOJ 3566】 3566: [SHOI2014]概率充电器 (概率树形DP)
3566: [SHOI2014]概率充电器 Description 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品——概率充电器:“采用全新纳米级加工技术,实现元件与导线能否通电 ...
- 【UOJ 79】 一般图最大匹配 (✿带花树开花)
从前一个和谐的班级,所有人都是搞OI的.有 n 个是男生,有 0 个是女生.男生编号分别为 1,…,n. 现在老师想把他们分成若干个两人小组写动态仙人掌,一个人负责搬砖另一个人负责吐槽.每个人至多属于 ...
- dubbo基础(初学习dubbo)
1. 扩展 Soap是webService协议.是http+xml. Rest ful是http+json.相对于soap来说rest ful就是轻量的,因为==. Rpc与soa区别? Rp ...
- [bzoj1022][SHOI2008]小约翰的游戏 John (博弈论)
Description 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有n堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子中取走任意多的石子,但不能一粒石子也不取 ...
- 密码加密_md5
md5加密 package com.fh.util; import java.security.MessageDigest; public class MD5 { public static Stri ...
- jquery datatables使用
引入相应css 和js <link href="http://cdn.datatables.net/1.10.5/css/jquery.dataTables.css" rel ...