Spring表达式语言(简称“ SpEL”)是一种功能强大的表达式语言,支持在运行时查询和操作对象图。语言语法类似于Unified EL,但是提供了其他功能,最著名的是方法调用和基本的字符串模板功能。
尽管还有其他几种Java表达式语言可用-OGNL,MVEL和JBoss EL,仅举几例-Spring表达式语言的创建是为了向Spring社区提供一种受良好支持的表达式语言,该语言可用于以下版本中的所有产品spring组合。其语言功能受Spring产品组合中项目的需求驱动,包括基于Eclipse的Spring Tool Suite中代码完成支持的工具需求。也就是说,SpEL基于与技术无关的API,如有需要,该API可以集成其他表达语言实现。
尽管SpEL是Spring产品组合中表达评估的基础,但它并不直接与Spring绑定,而是可以独立使用。为了自成一体,本章中的许多示例都将SpEL当作一种独立的表达语言来使用。这需要创建一些自举基础结构类,例如解析器。大多数Spring用户不需要处理这种基础结构,而是只能编写表达式字符串进行评估。这种典型用法的一个示例是将SpEL集成到创建XML或基于注释的Bean定义中,如Expression对定义Bean定义的支持所示。
本章介绍了表达语言,其API和语言语法的功能。在很多地方,Inventor和Society类都用作表达评估的目标对象。这些类声明以及用于填充它们的数据在本章末尾列出。
- Literal expressions 字面
- Boolean and relational operators
- Regular expressions
- Class expressions
- Accessing properties, arrays, lists, and maps
- Method invocation
- Relational operators
- Assignment 任务
- Calling constructors
- Bean references
- Array construction
- Inline lists
- Inline maps
- Ternary operator
- Variables
- User-defined functions
- Collection projection
- Collection selection
- Templated expressions
4.1. Evaluation评估
暂时没有必要看
https://docs.spring.io/spring/docs/5.2.x/spring-framework-reference/core.html#expressions