```xml
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-expression</artifactId>
</dependency>
```

### 1、描述

（v3.1.1 后支持）基础扩展插件。为 Solon 提供了一套表达式通用接口。并内置 Solon Expression Language（简称，SnEL）“求值”表达式实现方案。纯 Java 代码实现，零依赖（可用于其它任何框架）。编译后为 40KB 多点儿。

* 运行后，内存比较省（与同类相比）
* 只作解析运行（没有编译，没有字节码。不会产生新的隐藏类）

解析后会形成一个表达式“树结构”。可做为中间 DSL，按需转换为其它表达式（比如 redis、milvus 的过滤表达式）

主要特点：

* 总会输出一个结果（“求值”表达式嘛）
* 通过上下文传递变量，只支持对上下文的变量求值（不支持 `new Xxx()`）
* 只能有一条表达式语句（即不能有 `;` 号）
* 不支持控制运算（即不能有 `if`、`for` 之类的），不能当脚本用。
* 对象字段、属性、方法调用。可多层嵌套，但只支持 `public`（相对更安全些）
* 支持模板表达式

如果有脚本需求，可用：Liquor！




### 2、学习与教程

此插件也可用于非 solon 生态（比如 springboot2, jfinal, vert.x 等）。具体开发学习，参考：[《教程 / Solon Expression 开发》](/article/learn-solon-snel)


### 3、简单示例

你好世界：

```java
System.out.println(SnEL.eval("'hello world!'"));
```




