6.Spring-使用SpringELxpression(SpEL)简化配置

本文最后更新于2024.04.28-03:20,某些文章具有时效性,若有错误或已失效,请在下方留言或联系涛哥

概念

SpEL类似与ognl(struts2概念)和el表达式,可以在xml文件或者是spring注解中使用,可以简化Spring的配置,同时为bean的动态赋值提供便利。

SpEL表达式可以包括字面量运算符方法调用属性访问等,具有类似于其他主流表达式语言的特性。

在Spring中,可以通过@Value注解、@Conditional注解、@Cacheable注解等地方使用SpEL表达式。

我们在之前的SpringBoot整合SpringCache中就用到该方法,详情请看一下推荐:

SpringBoot整合缓存-SpringCache
本文最后更新于2024.04.28-03:20,某些文章具有时效性,若有错误或已失效,请在下方留言或联系涛哥。前言 Hi, everybody! no time long see!! 相信大家在日……

语法

类似于el表达式,使用#{} 作为定界符,所有在大括号内的字符都会被认作是spel表达式

1.可以用于表示字面量(字符串,数字),在使用的时候 需要用""或者‘’将字符串引起来。使用意义不大。

2.可以用于bean之间的引用,包括使用bean或者bean的属性和方法。 #{bean的Id(name)} 使用依赖时 需要把ref换成value #{bean.属性} #{bean.方法()}

3.支持在spel中使用各种运算符

a.使用算数运算:+ - * / %

b.可以使用比较运算符:

等于:==  eq 

不等:!=  !=

大于:>  gt  greater than

小于:<  lt  less than

大于等于:>=  ge greate eq

小于等于:<= le less eq

#{ 5>4} #{5 gt 4}

c.可以使用逻辑运算:&& And || OR ! NOT

d.可以使用if else 条件?值1:值2

4.可以使用静态的方法和属性 #{T(java.lang.Math).} T()表示一个类

5.可以使用 正则表达式 #{字符串.match(“正则表达式”)} 判断是否匹配.

阅读剩余
THE END