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. base64的作用

    本函数将字符串以 MIME BASE64 编码.此编码方式可以让中文字或者图片也能在网络上顺利传输.在 BASE64 编码后的字符串只包含英文字母大小写.阿拉伯数字.加号与反斜线,共 64 个基本字符 ...

  2. anaconda不错的

  3. URL and Ajax Helper Methods

      1.Unobtrusive Ajax

  4. win10家庭版和专业版远程桌面出现身份验证错误, 要求的函数不受支持。解决办法【亲测有效】

    1.解决 win10家庭中文版 远程连接:出现身份验证错误 要求的函数不受支持 Windows 5.10日更新后,远程连接出现失败. 提示: 出现身份验证错误.要求的函数不受支持 这可能是由于 Cre ...

  5. Java 中可变参数

    可变参数 Java 中可变参数 现在需要编写一个求和的功能,但是不知道有几个参数,在调用的时候才知道有几个参数,请问这如何实现呢? Java 给我们提供了一个 JDK 1.5 的新特性---可变参数 ...

  6. 使用CSS更改图标的颜色

    我们经常在很多网站上见到更改网站的主题时,图标的颜色也改变了,我们总是觉的这一项功能非常伟大,因为我们知道使用CSS是无法完成更改图片的颜色的.那么,网站上随心所欲的图标颜色是采用N多个图片不断的切换 ...

  7. linux 笔记(一)

    1.Linux 安装3ython3 1.1 下载 wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz 1.2 解压 tar -z ...

  8. CentOS7 安装Python3.6.4

    1. 安装依赖环境 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline- ...

  9. 基于NMAP日志文件的暴力破解工具BruteSpray

    基于NMAP日志文件的暴力破解工具BruteSpray   使用NMAP的-sV选项进行扫描,可以识别目标主机的端口对应的服务.用户可以针对这些服务进行认证爆破.为了方便渗透测试人员使用,Kali L ...

  10. POJ3710 Christmas Game 博弈论 sg函数 树的删边游戏

    http://poj.org/problem?id=3710 叶子节点的 SG 值为0:中间节点的SG值为它的所有子节点的SG值加1后的异或和. 偶环可以视作一个点,奇环视为一条边(连了两个点). 这 ...