6.1 介绍
优质
小牛编辑
129浏览
2023-12-01
6.1 介绍
Spring Expression Language(简称SpEL)是一种功能强大的表达式语言、用于在运行时查询和操作对象图;语法上类似于Unified EL,但提供了更多的特性,特别是方法调用和基本字符串模板函数。
虽然目前已经有许多其他的Java表达式语言,例如OGNL,MVEL和Jboss EL,SpEL的诞生是为了给Spring社区提供一种能够与Spring生态系统所有产品无缝对接,能提供一站式支持的表达式语言。它的语言特性由Spring生态系统的实际项目需求驱动而来,比如基于eclipse的Spring Tool Suite(Spring开发工具集)中的代码补全工具需求。尽管如此、SpEL本身基于一套与具体实现技术无关的API,在需要的时候允许其他的表达式语言实现集成进来。
尽管SpEL在Spring产品中是作为表达式求值的核心基础模块,本身可以脱离Spring独立使用。为了体现它的独立性,本章节中的许多例子都将SpEL作为独立的表达式语言来使用。不过这样就需要每次都先创建一些基础框架类如解析器,而对于大多数Spring用户来说并不需要去关注这些基础框架类,仅仅只需要写相应的字符串求值表达式即可。一个典型的例子就是把SpEL集成进XML bean配置或者基于注解的Bean定义声明中(详见章节:Expression support for defining bean definitions)
本章节包含SpEL的语言特性,它的API及语法。很多地方用到了Inventor类及相关的Society类作为表达式求值的操作例子对象,这几个类的定义及操作它们的数据都列在本章的末尾.