Spring表达式语言SpEL

一、SpEL简介

1、SpEL(Spring Expression Language):是一个支持运行时查询和操作对象图的强大的表达式语言。

2、类似于EL:SpEL使用 #{...} 作为定界符,在所有在 { } 中的字符都认为是SpEL。

 

二、SpEL表示字面值

1、字面值:可用字符串表示的值。

2、Spring配置Bean的属性时,可以使用SpEL表示字面值:

<!-- 整数-->
<property name="intNum" value="#{2}"/>
<!-- 浮点数-->
<property name="floatNum" value="#{2.1}"/>
<!-- 科学计数法-->
<property name="scienceNum" value="#{1e4}"/>
<!-- 字符串,单引号-->
<property name="stringType" value="#{'Mike'}"/>
<!-- 字符串,双引号-->
<property name="stringType2" value='#{"Mike"}'/>
<!-- 布尔值-->
<property name="booleanValue" value="#{true}"/>

 

三、SpEL引用Bean、属性和方法

1、引用其Bean

 

 
<!-- bean1为其他bean的id-->
<property name="prop1" value="#{bean1}"/>

 

2、引用其他Bean的属性

 
<!-- bean1.prop2为其他bean的prop2属性-->
<property name="prop2" value="#{bean1.prop2}"/>

3、调用其他方法

 
<!-- 属性值为调用方法的返回值-->
<property name="prop3" value="#{prop2.toString()}"/>

 

<!-- 调用方法的连缀-->
<property name="prop3" value="#{prop2.toString().toLowerCase()}"/>

 

 

四、SpEL中使用运算符

1、算术运算符:+ - * / % ^:

 

<!-- 加法-->
<property name="plus" value="#{2 + 2}"/>
<!-- 减法-->
<property name="sub" value="#{2 - 1}"/>
<!-- 乘法-->
<property name="mul" value="#{3 * 4}"/>
<!-- 除法-->
<property name="div" value="#{10 / 2}"/>
<!-- 取余-->
<property name="remainder" value="#{9 % 2}"/>
<!-- 次方-->
<property name="power" value="#{3 ^ 5}"/>

 

<!-- 加号还可以作为字符串连接符-->
<property name="strConnect" value="#{'hello' + ' ' + 'world'}"/>

 

2、比较运算符:< > == <= >= lt gt eq le ge

 

<!-- == -->
<property name="equals" value="#{numCount.intNum == 100}"/>
<!-- <= -->
<property name="lessOrEqual" value="#{numCount.intNum le 100}"/>

 

3、逻辑运算符:and,or,not

4、三目运算符:? : 

5、正则表达式:matches

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值