您的位置:首页 > 编程语言 > Java开发

Spring3.x--使用SpEL表达式装配

2014-09-11 14:14 585 查看
我们为Bean的属性和构造器参数装配的所有东西都是在Spring的XML配置文件中静态定义的。同样我们装配其他Bean的引用也都是在配置Spring配置文件时就已经确定了。但是,我们为属性装配的值在运行期才能知道,那又如何实现呢?

Spring3引入了Spring表达式语言,SpEL。SpEL是一种强大、简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean的属性或构造器参数中,使用SpEL,可以实现超乎想象的装配效果,这是使用传统的Spring装配方式难以做到的。

SpEL拥有许多特性,包括:使用Bean的ID来引用Bean;调用方法和访问对象的属性;对值进行算术、关系和逻辑运算;正则表达式匹配;集合操作。

1、引用Bean、Properties和方法

引用其他Bean

<property name="instrument" value="#{saxophone}"/>

引用其他Bean的属性

<bean id="carl" class="com.spring.InstrumentList">

<property name="song" value="#{kenny.song}"/>

</bean>

引用其他Bean的方法

<property name="song" value="#{songSelector.selectSong()}"/>

调用UpperCase方法

<property name="song" value="#{songSelector.selectSong().toUpperCase()}"/>

?.跟上面的区别是当selectSong方法返回null将不执行toUpperCase

<property name="song" value="#{songSelector.selectSong()?.toUpperCase()}"/>

2、操作类

<property name="area" value="#{T(java.lang.Math).PI*circle.radius^2}"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SpEL Spring