Spring表达式语言SpEL简单介绍
Spring3引入了Spring表达式语言(Spring Expression Language,SpEL)。
SpEL有非常多特性。比較经常使用的包含:
1、使用bean的id来引用bean,
以下这个样例就是将卧室这个bean通过SpEL注入到house这个bean的bedroom属性中。
<bean id="bedroom" class="go.derek.Bedroom"/>
<bean id="house" class="go.derek.House">
<property name="bedroom" value="#{bedroom}"/>
</bean>
2、訪问对象的属性和调用方法,
添加一个snoopy的bean。bark()方法能够返回狗狗的叫声。以下能够看到通过SpEL将snoopy的name属性和bark方法的返回值注入来house这个bean相应的属性其中。
<bean id="snoopy" class="go.derek.Snoopy"/>
<bean id="house" class="go.derek.House">
<property name="bedroom" value="#{bedroom}"/>
<property name="dog" value="#{snoopy.name}"/>
<property name="sound" value="#{snoopy.bark()}"/>
</bean>
3、对值进行算术、关系和逻辑运算,
添加一个robot的bean,这个机器人通过运行countRooms()方法能够统计出house中的房间数量。但总房间数还要加上卫生间,客厅,书房等等~
house中的isEqual属性是boolean类型的值。能够通过SpEL来推断。
<bean id="robot" class="go.derek.Robot"/>
<bean id="house" class="go.derek.House">
<property name="bedroom" value="#{bedroom}"/>
<property name="dog" value="#{snoopy.name}"/>
<property name="sound" value="#{snoopy.bark()}"/>
<property name="roomCount" value="#{robot.countRooms()+6}"/>
<property name="isEqual" value="#{snoopy.age==3}"/>
</bean>
此外还有正則表達式匹配和集合操作,大家感兴趣能够查阅相关文档,这里就不给大家赘述了~
Spring表达式语言SpEL简单介绍的更多相关文章
- Spring表达式语言SpEL
Spring表达式语言,简称SpEL,是一个支持运行时查询和操作对象图的强大的表达式语言.语法类似于EL:SpEL使用#{…}作为定界符,所有在大括号中的字符都将被认为是SpEL SpEL为bean属 ...
- Spring学习笔记--Spring表达式语言SpEL
Spring3引入了Spring表达式语言(Spring Expression Language,SpEL).SpEL是一种强大的.简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean ...
- Spring表达式语言:SpEl
概念: 是一个支持运行时查询和操作的对象图的强大的表达式语言. 语法类似于EL:SpEl使用#{ ...}作为定界符,所有在大括号中的 字符都将被认为是SpEl SpEl为bean的属性进行动态赋值提 ...
- Sping表达式语言--SpEL
Spring表达式语言---SpEL 是一个支持运行时查询和操作对象的强大的表达式语言 语法类似于EL:SpEL使用#{...}作为定界符,所有在大括号中的字符都将被认为是SpEL SpEL为bean ...
- Spring ——表达式语言 Spring Expression Language (转载)
目录 SpEL简介与功能特性 一.为什么需要Spring表达式语言 二.SpEL表达式Hello World! 三.SpEL表达式 3.1.文字表达式 3.2.SPEL语言特性 3.2.1.属性 3. ...
- Spring表达式语言 之 5.1 概述 5.2 SpEL基础(拾叁)
5.1 概述 5.1.1 概述 Spring表达式语言全称为"Spring Expression Language",缩写为"SpEL",类似于Struts ...
- 开涛spring3(5.1&5.2) - Spring表达式语言 之 5.1 概述 5.2 SpEL基础
5.1 概述 5.1.1 概述 Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行 ...
- 7 -- Spring的基本用法 -- 12... Spring 3.0 提供的表达式语言(SpEL)
7.12 Spring 3.0 提供的表达式语言(SpEL) Spring表达式语言(简称SpEL)是一种与JSP 2 的EL功能类似的表达式语言,它可以在运行时查询和操作对象图.支持方法调用和基本字 ...
- Spring表达式语言之SpEL
•Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言. •语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpEL ...
随机推荐
- Maven 学习笔记(一)
定义 Maven 是基于项目对象模型(POM)的软件项目管理工具,它采用纯 java 编写,用于管理项目的构建,最早在 Jakata Turbine 项目中开始被使用.它包含了一个项目对象模型(Pro ...
- caffe遇到的错误记录
Caffe——一个多么方便的深度学习工具,为啥安装和使用起来的bug这么多呢!把痛苦的记忆记录下来,把希望留给后人. Caffe的万丈高楼(Net)是按照我们的设计图纸(prototxt),用Blob ...
- 基于nginx的最基础的TCP代理,经过测试可通!
测试操作系统为win7,nginx版本为1.9.4. 在本机上编写java程序一个socket服务类SocketServer,监听端口为8889, (增加了一个SocketServerThread线程 ...
- mobiscroll插件的基本使用方法
前一阵子接触到了mobiscroll插件,用在移动端的日期选择上,感觉倍棒,于是便敲了一个小案例,与大家一起分享分享 <!DOCTYPE html> <html lang=" ...
- html5 好用功能总结
1.表格元素 a.<caption>设置表格标题 b.<colgroup> . <col> 设置列 //style span 2.分组元素 a.<blockq ...
- 关于C语言变量声明在其他语句后的一些细节
今天一个同学来找我,说他的代码老是编译不通过,我看了半天,好像都很符合逻辑,但一直显示一个变量未定义,我就纳闷了,代码类似如下: int main(){ login(); int id; scanf( ...
- 基于 Web 的 Go 语言 IDE - Wide 1.3.0 发布!
http://symphony.b3log.org/article/1437292757551 欢迎各位提意见.建议,参与到 Wide 开源项目中 :-)
- Sentry: Python 实时日志平台
Links https://docs.getsentry.com/on-premise/quickstart/ https://docs.getsentry.com/on-premise/server ...
- AVL树,红黑树,B树,B+树,Trie树都分别应用在哪些现实场景中?
AVL树: 最早的平衡二叉树之一.应用相对其他数据结构比较少.windows对进程地址空间的管理用到了AVL树. 红黑树: 平衡二叉树,广泛用在C++的STL中.如map和set都是用红黑树实现的. ...
- Run-time type information--RTTI
In computer programming, run-time type information or run-time type identification (RTTI)[1] refers ...