首页 > 其他分享 >Spel表达demo

Spel表达demo

时间:2023-03-08 22:12:51浏览次数:33  
标签:表达 demo springframework Spel context import test org expression


package com.example.demo;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.expression.MapAccessor;
import org.springframework.expression.Expression;
import org.springframework.expression.common.TemplateParserContext;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.spel.support.StandardEvaluationContext;

import java.util.Collections;
import java.util.Map;

@SpringBootTest
class DemoApplicationTests {

	@Test
	void test1() {

		TemplateParserContext templateParserContext = new TemplateParserContext("${","}");
		StandardEvaluationContext context = new StandardEvaluationContext();
		context.addPropertyAccessor(new MapAccessor());
		context.setRootObject(Map.of(
				"map", Collections.singletonMap("a","b"),
				"test","this is a test"
		));
		SpelExpressionParser parser = new SpelExpressionParser();
		Expression expression = parser.parseExpression("map.a : ${map.a}",templateParserContext);
		Object value = expression.getValue(context);
		System.out.println(value);
	}


	@Test
	void test2(){
		StandardEvaluationContext context = new StandardEvaluationContext();
		context.setVariable("test","this is a test");
		SpelExpressionParser parser = new SpelExpressionParser();
		System.out.println(parser.parseExpression("#test").getValue(context));
	}
}

标签:表达,demo,springframework,Spel,context,import,test,org,expression
From: https://www.cnblogs.com/huisunan/p/17196449.html

相关文章

  • 通用表表达式
    通用表表达式通用表表达式(CommonTableExpression、CTE)是一个临时的查询结果或者临时表,可以在其他SELECT、INSERT、UPDATE以及DELETE语句中使用。通用表表达式只在......
  • 正则表达式
    正则表达式正则表达式解释:正则表达式(英语:regularExpression,常简写为regex、regexp或RE),又称正则表达式、正则表示法、规则表达式、常规表示法,是计算机的一个概念。......
  • 实验1 C语言开发环境使用和数据类型、运算符、表达式
    //打印一个字符小人#include<stdio.h>intmain(){printf("o\n");printf("<H>\n");printf("II\n");return0;}#include<stdio.h>......
  • 记录一下C#中使用正则表达式
    privatestaticvoidMain(string[]arg){vartext="";//文本读取器using(TextReaderreader=newStreamR......
  • typescript 接口demo
    https://www.runoob.com/typescript/ts-interface.html......
  • for循环原理补充、生成器对象、yield冷门用法、生成器表达式的面试题、常见内置函数
    目录一、for循环原理补充二、生成器对象(1)、自定义生成器对标range功能(一个参数两个参数三个参数迭代器对象)三、yield冷门用法(1)、yield与return的对比四、生成器表......
  • 递归表达式系列
    递归函数:什么是递归函数:就是直接或者间接的调用自己"""递归:1.递推逐层寻找答案2.回溯根据最终的答案推导出最原始的答案3.递归函......
  • 常用正则表达式
     1、数字1、数字:^[0-9]*$2、n位的数字:^\d{n}$3、至少n位的数字:^\d{n,}$4、m-n位的数字:^\d{m,n}$5、零和非零开头的数字:^(0|[1-9][0-9]*)$6、非零开头的最多......
  • C# lambda 表达式
    C#lambda表达式lambda函数是一个小的匿名函数。lambda函数可以接受任意数量的参数,但只能具有一个表达式。本文主要介绍C#lambda表达式。 1、C#lambda表......
  • C# 正则表达式(Regex)
    C#正则表达式(Regex) 正则表达式是形成搜索模式的一系列字符。正则表达式可用于检查字符串是否包含指定的搜索模式。也可以进行字符串的替换和提取。本文主要......