6.1 介绍
The Spring Expression Language(简称SpEL)是一种强大的支持在运行时查询和操作对象图的表达式语言。语言语法类似于Unified EL,但提供了额外的功能,特别是方法调用和基本字符串模板功能。
尽管还有其他几种Java表达式语言,比如OGNL,MVEL和JBoss EL,但SpEL只是为了向Spring社区提供一种支持良好的表达式语言,你可以在所有使用Spring框架的产品中使用SpEL。 其语言特性是由使用Spring框架的项目的需求所驱动的,包括Eclipse中基础Spring工具套件中的代码完成支持功能的工具要求。 也就是说,SpEL基于一种抽象实现的技术API,允许在需要时集成其他表达式语言来实现。
虽然SpEL作为Spring产品组合中的表达式运算操作的基础,但它并不直接与Spring有关,可以独立使用。 为了自包含,本章中的很多例子都使用SpEL,就像它是一种独立的表达语言。 这就需要创建一些引导作用的基础实现类,如解析器。 大多数Spring用户将不需要处理这种基础实现类,并且只会将表达式字符串作为运算操作。 这个典型用途的一个例子是将Spel集成到创建XML或基于注释的bean定义中,如表达式支持定义bean的定义所示。
本章将介绍表达式语言的特点及其API及其语言语法。 在好几个地方,使用Inventor和Inventor's Society类作为表达式运算操作的目标对象。 这些类声明和用于填充它们的数据在本章末尾列出。