spring spel表达式语言

Posted JustDo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring spel表达式语言相关的知识,希望对你有一定的参考价值。

一、通过bean的id对bean进行引用

1、对其他bean的引用

<property name="dept" value="#{dept}"/>  

等同于

<property name="dept" ref="dept"/>

 

2、对其他bean中某个属性的引用

<property name="deptName" value="#{dept.deptName}"/>

 

3、对其他bean中某个方法的引用

<property name="info" value="#{dept.info()}"/>

 

二、对类进行引用  

  如果某个类是外部类,而不是spring中定义的bean,那么怎么进行引用呢?使用表达式T(),例如:

<property name="randomNumber" value="#{T(java.lang.Math).random()}"/> 

 

三、使用spel从集合中筛选元素

<util:list id="cities">
    <bean class="com.proc.bean.City" p:name="成都" p:code="CD"/>
    <bean class="com.proc.bean.City" p:name="北京" p:state="BJ"/>
    <bean class="com.proc.bean.City" p:name="上海" p:state="SH"/>
    <bean class="com.proc.bean.City" p:name="深圳" p:state="SZ"/>
</util:list>

使用spel对集合进行筛选

<property name="chosenCity" value="#{cities[2]}"/>

[]操作符也可以对Map进行筛选,假设citis是一个Map类型

<property name="chosenCity" value="#{cities["keyName"]}"/>

[]对Properties类型进行操作

<util:properties id="db" location="classpath:db.properties"/>
<property name="url" value="#{db[‘jdbc.url‘]}"/>  

 

以上是关于spring spel表达式语言的主要内容,如果未能解决你的问题,请参考以下文章

Spring表达式语言:SpEL语法

Spring学习笔记--Spring表达式语言SpEL

Spring系列.SpEL表达式

Spring 系列篇之表达式语言(SpEL)

带有@Value 的 Spring 表达式语言 (SpEL):美元与哈希($ 与 #)

Spring表达式语言 之 5.1 概述 5.2 SpEL基础(拾叁)