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笔记的更多相关文章

  1. [原创]java WEB学习笔记100:Spring学习---Spring Bean配置:SpEL详细介绍及代码演示

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  2. Spring实战学习笔记之SpEL表达式

            在Spring XML配置文件中装配Bean的属性和构造参数都是静态的,而在运行期才知道装配的值,就可以使用SpEL实现         SpEL表达式的首要目标是通过计算获得某个值. ...

  3. Spring3表达式语言(SpEL)学习笔记

    最新地址请访问:http://leeyee.github.io/blog/2011/06/19/spring-expression-language Spring Excpression Langua ...

  4. Spring学习笔记--在SpEL中筛选集合

    要用到Spring的util(包括util:list等),xml文件中的beans中需要添加一些有关util的信息: <?xml version="1.0" encoding ...

  5. Spring学习笔记--Spring表达式语言SpEL

    Spring3引入了Spring表达式语言(Spring Expression Language,SpEL).SpEL是一种强大的.简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean ...

  6. spring in action 学习笔记十三:SpEL语言(Spring Expression Language)

    SpEl语言的目的之一是防止注入外部属性的代码硬代码化.如@Value("#{student.name}")这个注解的意思是把Student类的name的属性值注入进去.其中stu ...

  7. Spring学习笔记(14)——SpEL

    是什么 Spring表达式语言全称为"Spring Expression Language",缩写为"SpEL",类似于Struts2x中使用的OGNL表达式语 ...

  8. Spring4学习笔记 - SpEL表达式

  9. Spring Boot笔记二:快速创建以及yml文件自动注入

    上个笔记写了如何自己去创建Spring boot,以及如何去打jar包,其实,还是有些麻烦的,我们还自己新建了几个文件夹不是. Idea可以让我们快速的去创建Spring boot应用,来看 一.快速 ...

随机推荐

  1. 前端canvas合并图片两种实现方式

    ---恢复内容开始--- 需求: 有一个固定的背景图,还有一个是随机生成的二维码,合并成一张图,让用户下载. 实现一:纯手写,这里为了省事生成图片我直接给的base64,其实使用qrcode.js生成 ...

  2. Robot Framework自动化测试的应用

    Robot Framework自动化测试的应用(一) 最近尝试用Robot Framework代替之前全部采用python实现测试case,开始对Robot Framework进行些了解学习. 1. ...

  3. jquery控制元素的显示与隐藏

    比如要控制div的显示与隐藏,一句话就搞定了.$("#id").show()表示display:block,$("#id").hide()表示display:n ...

  4. php中var_dump()函数

    var_dump() void var_dump ( mixed expression [, mixed expression [, ...]] ) var_dump()方法是判断一个变量的类型与长度 ...

  5. vue表格导入

    <input id="upload" type="file" @change="importfxx(this)"  accept=&q ...

  6. 转:使用python的Flask实现一个RESTful API服务器端

    提示:可以学习一下flask框架中对于密码进行校验的部分.封装了太多操作. 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了 ...

  7. Python编程举例-iter和next结合定制可迭代对象

    class Foo: def __init__(self,n): self.n = n def __iter__(self): return self def __next__(self): if s ...

  8. 【BZOJ 3812】 3812: 主旋律 (容斥原理**)

    3812: 主旋律 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 235  Solved: 196 Description 响应主旋律的号召,大家决定 ...

  9. 颓废选手在 Ubuntu/Noilinux 下的生存指北

    颓废选手在 Ubuntu/Noilinux 下的生存指北 Hint: 这里的 "#" 都是假注释,复制的时候记得删除 一些基本的生存命令 ctrl + alt + t #调出终端 ...

  10. AHOI2018训练日程(3.10~4.12)

    (总计:共90题) 3.10~3.16:17题 3.17~3.23:6题 3.24~3.30:17题 3.31~4.6:21题 4.7~4.12:29题 ZJOI&&FJOI(6题) ...