Spring表达式语言:SpEL语法

本文深入探讨Spring表达式语言(SpEL),包括直接量表达式、数组和List创建、访问集合元素、方法调用、算术及比较操作、类型运算、构造器调用、安全导航、集合操作等核心语法。通过SpEL,可以更简洁地配置Spring Bean。
摘要由CSDN通过智能技术生成

Spring表达式语言简称:SpEL,SpEL既可以独立于Spring容器使用,,也可以在Spring配置文件中使用,这样就大大简化了Spring的Bean配置,给配置文件起到了“减肥”的作用,下面开始总结SpEL语法

1:直接量表达式

直接量表达式也是SpEL最简单的表达式,如下:

public class SpelGrammar 
{
	public static void main(String[]args)
	{
		        // 创建一个ExpressionParser对象,用于解析表达式
				ExpressionParser parser = new SpelExpressionParser();
				// 使用直接量表达式
				Expression exp = parser.parseExpression("'VipMao");
				System.out.println(exp.getValue(String.class));
				exp = parser.parseExpression("6.9");
				System.out.println(exp.getValue(Double.class));

	}
}

运行结果:

VipMao

6.9

2:在表达式中创建数组

SpEL创建数组的方式和常规创建没有什么不同,SpEL也支持静态创建和动态创建两种方式。
public static void main(String[]args)
	{
		        // 创建一个ExpressionParser对象,用于解析表达式
				ExpressionParser parser = new SpelExpressionParser();
				//------------使用SpEL创建数组-----------
				Expression exp=parser.parseExpression("new String[]{'Struts2','Hibernate','Spring'}");
				System.out.println(exp.getValue(String.class));
				// 创建二维数组
				exp = parser.parseExpression(
					"new int[2][4]");
				System.out.println(exp.getValue(int.class));;
	}
}
运行结果:
Struts2,Hibernate,Spring
0

3:在表达式中创建List集合

SpEL支持直接使用{ele1,ele2,ele3...}语法来创建List集合,但是这样没法修改集合内的元素。
public class SpelGrammar 
{
	public static void main(String[]args)
	{
		               // 创建一个ExpressionParser对象,用于解析表达式
				ExpressionParser parser = new SpelExpressionParser();
				//------------使用SpEL创建数组-----------
				Expression exp=parser.parseExpression("{'java','c语言','PHP'}");
				System.out.println(exp.getValue(String.class));
				// 创建“二维”List集合
				exp = parser.parseExpression(
					"{
   {'孙悟空' , '哪吒'}, {'刘备' , '诸葛亮'}}");
				System.out.println(exp.getValue());

	}
}

运行结果:
java,c语言,PHP
[[孙悟空, 哪吒], [刘备, 诸葛亮]]

4:SpEL中访问List、Map等元素集合

在SpEL中通过list[index]访问List集合元素,通过map[key]访问Map集合元素,下面咱们通过常规创建集合,修改他们的集合元素并访问特定的集合元素。
public class SpelGrammar 
{
	public static void main(String[]args)
	{
		                // 创建一个ExpressionParser对象,用于解析表达式
				ExpressionParser parser = new SpelExpressionParser();
				//------------使用SpEL创建数组-----------
				//------------使用SpEL访问List集合、Map集合的元素-----------
				List<String>list=new ArrayList<String>();
				list.add("java");
				list.add("PHP");
				Map<String,Double>map=new HashMap<String,Dou
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值