spring4-2-bean配置-6-Spring表达式语言SpEL

  Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。
  语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpEL
  SpEL 为 bean 的属性进行动态赋值提供了便利
  通过 SpEL 可以实现:

    • 通过 bean 的 id 对 bean 进行引用
    • 调用方法以及引用对象中的属性
    • 计算表达式的值
    • 正则表达式的匹配

字面量的表示

  整数:<property name="count" value="#{5}"/>
  小数:<property name="frequency" value="#{89.7}"/>
  科学计数法:<property name="capacity" value="#{1e4}"/>
  String可以使用单引号或者双引号作为字符串的定界符号:<property name=“name” value="#{‘Chuck‘}"/> 或 <property name=‘name‘ value=‘#{"Chuck"}‘/>
  Boolean:<property name="enabled" value="#{false}"/>

注意:如果仅仅是赋字面值的话,用SpEL的意义不是很大.直接可以在value中赋值的.

引用 Bean、属性和方法

  引用其他对象:

  

  引用其他对象的属性(spel 独有)

  

  调用其他方法,还可以链式操作(spel 独有)

  

  调用静态方法或静态属性

    通过 T() 调用一个类的静态方法,它将返回一个 Class Object,然后再调用相应的方法或属性:
  

SpEL支持的运算符号

  算数运算符:+, -, *, /, %, ^:

  

  加号还可以用作字符串连接: 

   

  比较运算符: <, >, ==, <=, >=, lt, gt, eq, le, ge

  

  

  逻辑运算符号: and, or, not, |

  

  if-else 运算符:?: (ternary), ?: (Elvis)

  

   if-else 的变体  

  

  正则表达式:matches

  

时间: 2024-10-05 23:15:21

spring4-2-bean配置-6-Spring表达式语言SpEL的相关文章

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=&q

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

Spring3引入了Spring表达式语言(Spring Expression Language,SpEL).SpEL是一种强大的.简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean的属性或构造器参数中.字面值我们可以在<property>元素的value属性中使用#{}界定符将值装配到Bean的属性中. <property name="count" value="#{5}" /> 浮点型数字一样可以出现在SpEL表达式中.

Sping表达式语言--SpEL

Spring表达式语言---SpEL 是一个支持运行时查询和操作对象的强大的表达式语言 语法类似于EL:SpEL使用#{...}作为定界符,所有在大括号中的字符都将被认为是SpEL SpEL为bean的属性进行动态赋值提供了便利 通过SpEL可以实现: 通过bean的id对bean进行引用 调用方法以及引用对象中的属性 计算表达式的值 正则表达式的匹配 SpEL:字面量 字面量的表示: -整数:<property name="count" value="#{5}&quo

Spring基础系列6 -- Spring表达式语言(Spring EL)

Spring基础系列6 -- Spring表达式语言(Spring EL) 转载:http://www.cnblogs.com/leiOOlei/p/3543222.html 本篇讲述了Spring Expression Language —— 即Spring3中功能丰富强大的表达式语言,简称SpEL.SpEL是类似于OGNL和JSF EL的表达式语言,能够在运行时构建复杂表达式,存取对象属性.对象方法调用等.所有的SpEL都支持XML和Annotation两种方式,格式:#{ SpEL exp

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

5.1  概述 5.1.1  概述 Spring表达式语言全称为"Spring Expression Language",缩写为"SpEL",类似于Struts2x中使用的OGNL表达式语言,能在运行时构建复杂表达式.存取对象图属性.对象方法调用等等,并且能与Spring功能完美整合,如能用来配置Bean定义. 表达式语言给静态Java语言增加了动态功能. SpEL是单独模块,只依赖于core模块,不依赖于其他模块,可以单独使用. 5.1.2  能干什么 表达式语言

spring表达式语言(SpEL)简述及Hello World示例

作为spring的基础模块之一,spring表达式语言模块(Spring Expression Language,简称SpEL)在运行时提供了查询和操作一个对象图的强大的表达式语言. Spring EL既可以通过XML被配置,也可以通过注解来进行配置.下面通过简单的例子来示范如何通过两种不同的方式配置SpEL从而注入String.整型和javabean数据. Spring EL依赖 项目通过maven进行管理,在maven的pom.xml配置文件中声明spring的核心依赖,maven将自动下载

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

5.1  概述 5.1.1  概述 Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行时构建复杂表达式.存取对象图属性.对象方法调用 等等,并且能与Spring功能完美整合,如能用来配置Bean定义. 表达式语言给静态Java语言增加了动态功能. SpEL是单独模块,只依赖于core模块,不依赖于其他模块,可以单独使用. 5.1.2  能干什么 表达式语言一般是用最简单的形式完成最主

Spring表达式语言:SpEL语法

Spring表达式语言简称:SpEL,SpEL既可以独立于Spring容器使用,,也可以在Spring配置文件中使用,这样就大大简化了Spring的Bean配置,给配置文件起到了"减肥"的作用,下面开始总结SpEL语法 1:直接量表达式 直接量表达式也是SpEL最简单的表达式,如下: public class SpelGrammar { public static void main(String[]args) { // 创建一个ExpressionParser对象,用于解析表达式 E

Spring 表达式语言 (一)

Spring 表达式语言 (Spring Expression Language)是Spring 3.0开始引入的,它是一种强大.简洁的装配Bean的方式,能在运行时执行表达式将值(包括引用)注入到Bean. SpEL的特性包括, 使用Bean的ID引用 调用方法或访问属性 进行算术.逻辑或关系运算 正则表达式 集合操作 字面值 最简单的SpEL就是一个字面值, 使用${}. 如将数字8装配到下面的属性: <property name="count" value="#{