从企业级开发到云原生微服务:Spring Boot实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.6 Spring EL

Spring EL(Spring Expression Language,Spring表达式语言)是Spring生态下的通用语言,在运行时使用表达式查询属性信息(使用符号$)或操作Java对象(使用符号#),主要用在XML或注解上。

本节主要使用@Value(org.springframework.beans.factory.annotation.Value)注解来演示Spring EL的功能,它可以获得表达式计算出来的结果。

1.数学运算

可以在表达式中进行数学运算,包括+、-、*、/、%、^、div和mod。

2.比较运算

可以在表达式中进行比较运算,包括<、>、==、!=、<=、>=、lt、gt、eq、ne、le和ge。

3.逻辑运算

可以在表达式中进行逻辑运算,包括and、or、not、&&、||和 !。

4.条件运算

使用三元运算符?:可进行条件运算。

5.正则匹配

使用matches可判断字符是否符合正则表达式。

6.调用Bean方法

可以直接用Spring EL来调用Bean的方法,假设被调用的Bean定义如下。

可以通过#{bean名.方法名(参数)}来调用。

7.获得Environment中的属性

Environment可以从外部文件或者操作系统环境变量中获取属性信息,示例如下。

a.通过@PropertySource把配置文件中的属性信息加载到Environment中。

b.查询属性使用符号$,格式为$(属性名)。

c.获得操作系统环境变量信息的方式与b一致。

完整代码如下。

在JavaConfig中进行校验,结果如图3-16所示。

图3-16