Spring SpEL表达式处理原理

本文介绍了Spring SpEL表达式处理的原理,包括如何进行数学操作、表达式的结构要求、解析步骤以及处理占位符变量的过程。通过断词器拆分表达式,生成语法结构,并进行表达式合法性检查,然后在表达式上下文中设置变量内容,最终计算表达式结果。
摘要由CSDN通过智能技术生成

要明确的是,在使用表达式的过程之中,我们除了利用字符串数据操作以外,也可以进行数学的操作。

范例:进行数的操作

public class TestELSimple {

	 public static void main(String[] args) {
	    //1.定义要操作的表达式,使用者更多多的是关注此部分,而不关注具体的解析处理部分,
        String pstr="1 + 2";
        //2.要定义一个表达式的解析器,本次使用的是spel表达式解析器;
        ExpressionParser parpser = new SpelExpressionParser();
        //3.使用特定的解析器来处理指定的字符串操作;
        Expression exp = parpser.parseExpression(pstr);
        //定义相关的一些环境属性,
        EvaluationContext context = new StandardEvaluationContext();
        System.out.println(exp.getValue(context));
	 }
}

输出结果:3

可以发现除了编写字符串之外还可以编写数字,甚至各种字符串的数据,那么如果是由我们自己编写这种表达式,那么首先一定要对其进行一个判断,判断表达式应该由哪些组成,而后要拆分组成的内容,最后要进行字符串相关的数据类型转换,从而得出最终的计算结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值