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简单介绍的更多相关文章

  1. Spring表达式语言SpEL

    Spring表达式语言,简称SpEL,是一个支持运行时查询和操作对象图的强大的表达式语言.语法类似于EL:SpEL使用#{…}作为定界符,所有在大括号中的字符都将被认为是SpEL SpEL为bean属 ...

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

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

  3. Spring表达式语言:SpEl

    概念: 是一个支持运行时查询和操作的对象图的强大的表达式语言. 语法类似于EL:SpEl使用#{ ...}作为定界符,所有在大括号中的 字符都将被认为是SpEl SpEl为bean的属性进行动态赋值提 ...

  4. Sping表达式语言--SpEL

    Spring表达式语言---SpEL 是一个支持运行时查询和操作对象的强大的表达式语言 语法类似于EL:SpEL使用#{...}作为定界符,所有在大括号中的字符都将被认为是SpEL SpEL为bean ...

  5. Spring ——表达式语言 Spring Expression Language (转载)

    目录 SpEL简介与功能特性 一.为什么需要Spring表达式语言 二.SpEL表达式Hello World! 三.SpEL表达式 3.1.文字表达式 3.2.SPEL语言特性 3.2.1.属性 3. ...

  6. Spring表达式语言 之 5.1 概述 5.2 SpEL基础(拾叁)

    5.1  概述 5.1.1  概述 Spring表达式语言全称为"Spring Expression Language",缩写为"SpEL",类似于Struts ...

  7. 开涛spring3(5.1&5.2) - Spring表达式语言 之 5.1 概述 5.2 SpEL基础

    5.1  概述 5.1.1  概述 Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行 ...

  8. 7 -- Spring的基本用法 -- 12... Spring 3.0 提供的表达式语言(SpEL)

    7.12 Spring 3.0 提供的表达式语言(SpEL) Spring表达式语言(简称SpEL)是一种与JSP 2 的EL功能类似的表达式语言,它可以在运行时查询和操作对象图.支持方法调用和基本字 ...

  9. Spring表达式语言之SpEL

    •Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言. •语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpEL ...

随机推荐

  1. Ubuntu下的用户和权限(三)

    七.增删群组相关的命令 相同的我们要先介绍两个重要的设定档:/etc/group和/etc/gshadow,前面那个事实上和/etc/passwd一样.而后者就是群组的password表了.先看看长啥 ...

  2. java 线程 生产者-消费者与队列,任务间使用管道进行输入、输出 解说演示样例 --thinking java4

    package org.rui.thread.block2; import java.io.BufferedReader; import java.io.IOException; import jav ...

  3. Linux下FFmpeg的安装编译过程【转】

    本文转载自:http://www.linuxidc.com/Linux/2013-06/85628.htm 详细说下在Linux下FFmpeg的安装编译过程.参考 Ubuntu 10.04安装编译FF ...

  4. [实例]ROS使用OpenCV读取图像并发布图像消息在rviz中显示

    思路: (1)使用opencv读取本地图像 (2)调用cv_bridge::CvImage().toImageMsg()将本地图像发送给rviz显示 一.使用opencv读取本地图像并发布图像消息 ( ...

  5. windows安装mysql注意点

    MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的. 以msi格式安装完成后,先别忙着启动mysql,我们还需要修改一下配置文件(如果没有配置,之后启动的时候就会出现图中的错误哦!:错 ...

  6. Spring《四-一》解决自动装配的问题

    自动化装配使得研发减少了响应的指配工作,但是使得响应的检查难以完成. 解决方法: simple模式: <bean autowire="autodetect" dependen ...

  7. MarkDown 语法备份

    标题 标题1 标题2 标题3 标题4 标题5 无序列表 飞雪连天射白鹿 书神侠倚碧鸳 有序列表 飞雪连天射白鹿 笑书神侠倚碧鸳 超链接 百度 图片 粗体和斜体 粗体 斜体 表格 左对齐标题 右对齐标题 ...

  8. Java基础——类和对象的初始化过程

    本节把类和对象的初始化所涉及到的所有代码块阐述一边. 示例代码: public class Demo { private static String name; private String age; ...

  9. 04《UML大战需求分析》之四

    在学习完顺序图之后,流程分析的三种图,我已经学习完了我,但是我还需要大量地锻炼,这样才可以更加熟练地掌握几种图的使用和方法.接下来,我学习了用例图,用来描述系统的行为. 虽然是一同学习的,但是对用例图 ...

  10. CorelDRAW X6+PhotoZoom这组合,无敌了啊!

    520就这样毫无察觉的过去了,对于额这种单身狗,额表示,什么520,什么情人节,统统略过,,可是,可是,即便这样,还是硬生生的吃了一把来势凶猛的远在天际的狗粮,当我看到CorelDRAW X6和Pho ...