开涛spring3(5.1&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 能干什么
表达式语言一般是用最简单的形式完成最主要的工作,减少我们的工作量。
SpEL支持如下表达式:
一、基本表达式:字面量表达式、关系,逻辑与算数运算表达式、字符串连接及截取表达式、三目运算及Elivis表达式、正则表达式、括号优先级表达式;
二、类相关表达式:类类型表达式、类实例化、instanceof表达式、变量定义及引用、赋值表达式、自定义函数、对象属性存取及安全导航表达式、对象方法调用、Bean引用;
三、集合相关表达式:内联List、内联数组、集合,字典访问、列表,字典,数组修改、集合投影、集合选择;不支持多维内联数组初始化;不支持内联字典定义;
四、其他表达式:模板表达式。
注:SpEL表达式中的关键字是不区分大小写的。
5.2 SpEL基础
5.2.1 HelloWorld
首先准备支持SpEL的Jar包:“org.springframework.expression-3.0.5.RELEASE.jar”将其添加到类路径中。
SpEL在求表达式值时一般分为四步,其中第三步可选:首先构造一个解析器,其次解析器解析字符串表达式,在此构造上下文,最后根据上下文得到表达式运算后的值。
让我们看下代码片段吧:
package cn.javass.spring.chapter5;
import junit.framework.Assert;
import org.junit.Test;
import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;
public class SpELTest {
@Test
public void helloWorld() {
ExpressionParser parser = new SpelExpressionParser();
Expression expression =
parser.parseExpression("('Hello' + ' World').concat(#end)");
EvaluationContext context = new StandardEvaluationContext();
context.setVariable("end", "!");
Assert.assertEquals("Hello World!", expression.getValue(context));
}
}
接下来让我们分析下代码:
1)创建解析器:SpEL使用ExpressionParser接口表示解析器,提供SpelExpressionParser默认实现;
2)解析表达式:使用ExpressionParser的parseExpression来解析相应的表达式为Expression对象。
3)构造上下文:准备比如变量定义等等表达式需要的上下文数据。
4)求值:通过Expression接口的getValue方法根据上下文获得表达式值。
是不是很简单,接下来让我们看下其具体实现及原理吧。
5.2.3 SpEL原理及接口
SpEL提供简单的接口从而简化用户使用,在介绍原理前让我们学习下几个概念:
一、表达式:表达式是表达式语言的核心,所以表达式语言都是围绕表达式进行的,从我们角度来看是“干什么”;
二、解析器:用于将字符串表达式解析为表达式对象,从我们角度来看是“谁来干”;
三、上下文:表达式对象执行的环境,该环境可能定义变量、定义自定义函数、提供类型转换等等,从我们角度看是“在哪干”;
四、根对象及活动上下文对象:根对象是默认的活动上下文对象,活动上下文对象表示了当前表达式操作的对象,从我们角度看是“对谁干”。
理解了这些概念后,让我们看下SpEL如何工作的呢,如图5-1所示:
aaarticlea/png;base64,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" alt="" />
图5-1 工作原理
1)首先定义表达式:“1+2”;
2)定义解析器ExpressionParser实现,SpEL提供默认实现SpelExpressionParser;
2.1)SpelExpressionParser解析器内部使用Tokenizer类进行词法分析,即把字符串流分析为记号流,记号在SpEL使用Token类来表示;
2.2)有了记号流后,解析器便可根据记号流生成内部抽象语法树;在SpEL中语法树节点由SpelNode接口实现代表:如OpPlus表示加操作节点、IntLiteral表示int型字面量节点;使用SpelNodel实现组成了抽象语法树;
2.3)对外提供Expression接口来简化表示抽象语法树,从而隐藏内部实现细节,并提供getValue简单方法用于获取表达式值;SpEL提供默认实现为SpelExpression;
3)定义表达式上下文对象(可选),SpEL使用EvaluationContext接口表示上下文对象,用于设置根对象、自定义变量、自定义函数、类型转换器等,SpEL提供默认实现StandardEvaluationContext;
4)使用表达式对象根据上下文对象(可选)求值(调用表达式对象的getValue方法)获得结果。
接下来让我们看下SpEL的主要接口吧:
1)ExpressionParser接口: 表示解析器,默认实现是org.springframework.expression.spel.standard包中的 SpelExpressionParser类,使用parseExpression方法将字符串表达式转换为Expression对象,对于 ParserContext接口用于定义字符串表达式是不是模板,及模板开始与结束字符:
public interface ExpressionParser {
Expression parseExpression(String expressionString);
Expression parseExpression(String expressionString, ParserContext context);
}
来看下示例:
@Test
public void testParserContext() {
ExpressionParser parser = new SpelExpressionParser();
ParserContext parserContext = new ParserContext() {
@Override
public boolean isTemplate() {
return true;
}
@Override
public String getExpressionPrefix() {
return "#{";
}
@Override
public String getExpressionSuffix() {
return "}";
}
};
String template = "#{'Hello '}#{'World!'}";
Expression expression = parser.parseExpression(template, parserContext);
Assert.assertEquals("Hello World!", expression.getValue());
}
在此我们演示的是使用ParserContext的情况,此处定义了ParserContext实 现:定义表达式是模块,表达式前缀为“#{”,后缀为“}”;使用parseExpression解析时传入的模板必须以“#{”开头,以“}”结尾, 如"#{'Hello '}#{'World!'}"。
默认传入的字符串表达式不是模板形式,如之前演示的Hello World。
2)EvaluationContext接口: 表示上下文环境,默认实现是org.springframework.expression.spel.support包中的 StandardEvaluationContext类,使用setRootObject方法来设置根对象,使用setVariable方法来注册自定义 变量,使用registerFunction来注册自定义函数等等。
3)Expression接口:表示表达式对象,默认实现是org.springframework.expression.spel.standard包中的SpelExpression,提供getValue方法用于获取表达式值,提供setValue方法用于设置对象值。
了解了SpEL原理及接口,接下来的事情就是SpEL语法了。
开涛spring3(5.1&5.2) - Spring表达式语言 之 5.1 概述 5.2 SpEL基础的更多相关文章
- Spring表达式语言 之 5.1 概述 5.2 SpEL基础(拾叁)
5.1 概述 5.1.1 概述 Spring表达式语言全称为"Spring Expression Language",缩写为"SpEL",类似于Struts ...
- Spring3系列6 - Spring 表达式语言(Spring EL)
Spring3系列6-Spring 表达式语言(Spring EL) 本篇讲述了Spring Expression Language —— 即Spring3中功能丰富强大的表达式语言,简称SpEL.S ...
- Spring学习笔记--Spring表达式语言SpEL
Spring3引入了Spring表达式语言(Spring Expression Language,SpEL).SpEL是一种强大的.简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean ...
- Spring学习(十三)-----Spring 表达式语言(Spring EL)
本篇讲述了Spring Expression Language —— 即Spring3中功能丰富强大的表达式语言,简称SpEL.SpEL是类似于OGNL和JSF EL的表达式语言,能够在运行时构建复杂 ...
- 使用Spring表达式语言进行装配
1.1注入外部的值 Spring中,处理外部值的最简单方式就是声明属性源并通过Spring的Environment来检索属性.例如,程序清单3.7展现了一个基本的Spring配置类,它使用外部的属性来 ...
- Spring表达式语言SpEL简单介绍
Spring3引入了Spring表达式语言(Spring Expression Language,SpEL). SpEL有非常多特性.比較经常使用的包含: 1.使用bean的id来引用bean, 以下 ...
- Spring表达式语言SpEL
Spring表达式语言,简称SpEL,是一个支持运行时查询和操作对象图的强大的表达式语言.语法类似于EL:SpEL使用#{…}作为定界符,所有在大括号中的字符都将被认为是SpEL SpEL为bean属 ...
- Spring表达式语言之SpEL
•Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言. •语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpEL ...
- Spring表达式语言:SpEL
1.Spring表达式语言(简称:SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言. 2.语法类似于EL:SpEL使用#{...}作为定界符,所有在大括号内的字符都被认为是SpEL. 3 ...
随机推荐
- SQL SERVER:CASE判断空,错误一例
-----错误判断------------------------------------------------------------------------------------ SELEC ...
- com.android.ide.common.process.PrecessException:org.gradle.process....finished with non-zero exit value 1
1.问题描述: 如图,在生成apk文件时出现如下错误, 2.原因分析: 我在网上搜了很多类似的问题,但试了又试也没有解决.然后我想上次编译时都没有出错,应该是最近的操作导致的错误. 3.解决办法: 把 ...
- 关于generator异步编程的理解以及如何动手写一个co模块
generator出现之前,想要实现对异步队列中任务的流程控制,大概有这么一下几种方式: 回调函数 事件监听 发布/订阅 promise对象 第一种方式想必大家是最常见的,其代码组织方式如下: fun ...
- Doxygen + Graphviz windows下安装配置(图解)
查看一些开源代码经常被一些函数的调用关系给绕进去,经过网上查阅资料,发现了这个好用的方法,拿出来和大家分享下安装和应用的过程. 本人常用windows系统,所以主要讲解下windows下相关的内容 要 ...
- CocoaAsyncSocket + Protobuf 处理粘包和拆包问题
在上一篇文章<iOS之ProtocolBuffer搭建和示例demo>分享环境的搭建, 我们和服务器进行IM通讯用了github有名的框架CocoaAsynSocket, 然后和服务器之间 ...
- 怎么看iOS human interface guidelines中的user control原则
最近离开了老东家,整理整理思路,因为一直做的是微信公众号相关的产品对app的东西有一段时间没有做过了,所以又看了一遍iOS human interface guidelines,看到user cont ...
- Spring MVC执行原理
spring的MVC执行原理 1.spring mvc将所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求 进行真正的处理工作. 2.DispatcherSer ...
- node.js系列(实例):原生node.js+formidable模块实现简单的文件上传
/** * 原生node.js结合formidable模块实现图片上传改名 * @Author:Ghost * @Date:2016/07/15 * @description: * 1.引入模块htt ...
- 每天一个linux命令(63):Linux中zip压缩和unzip解压缩命令详解
文章转自:http://www.jb51.net/LINUXjishu/105916.html 1.把/home目录下面的mydata目录压缩为mydata.zipzip -r mydata.zip ...
- 解决IE无法访问localhost问题
前几天新安装了win10和webstorm16,发现系统是的IE浏览器是IE11,调试时无法正常显示网页: 一开始以为是系统没有写入密钥,无法获得权限,查了一下后发现是局域网设置不正确. 作以下设置可 ...