码迷,mamicode.com
首页 > 编程语言 > 详细

Spring表达式语言SpEL简介

时间:2014-08-05 00:47:28      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:style   使用   io   ar   line   size   c   res   

Spring3引入了Spring表达式语言(Spring Expression Language,SpEL)。

SpEL有很多特性,比较常用的包括:

1、使用bean的id来引用bean,

下面这个例子就是将卧室这个bean通过SpEL注入到house这个bean的bedroom属性中。

<bean id="bedroom" class="go.derek.Bedroom"/>
 <bean id="house" class="go.derek.House">
  <property name="bedroom" value="#{bedroom}"/>
 </bean>


2、访问对象的属性和调用方法,

增加一个snoopy的bean,bark()方法可以返回狗狗的叫声。下面可以看到通过SpEL将snoopy的name属性和bark方法的返回值注入来house这个bean对应的属性当中。

<bean id="snoopy" class="go.derek.Snoopy"/>

<bean id="house" class="go.derek.House">
  <property name="bedroom" value="#{bedroom}"/>
  <property name="dog" value="#{snoopy.name}"/>

<property name="sound" value="#{snoopy.bark()}"/>
 </bean>


3、对值进行算术、关系和逻辑运算,

增加一个robot的bean,这个机器人通过执行countRooms()方法可以统计出house中的房间数量,但总房间数还要加上卫生间,客厅,书房等等~

house中的isEqual属性是boolean类型的值,可以通过SpEL来判断。

<bean id="robot" class="go.derek.Robot"/>

<bean id="house" class="go.derek.House">
  <property name="bedroom" value="#{bedroom}"/>
  <property name="dog" value="#{snoopy.name}"/>
  <property name="sound" value="#{snoopy.bark()}"/>
  <property name="roomCount" value="#{robot.countRooms()+6}"/>

  <property name="isEqual" value="#{snoopy.age==3}"/>
 </bean>


此外还有正则表达式匹配和集合操作,大家感兴趣可以查阅相关资料,这里就不给大家赘述了~

Spring表达式语言SpEL简介,布布扣,bubuko.com

Spring表达式语言SpEL简介

标签:style   使用   io   ar   line   size   c   res   

原文地址:http://blog.csdn.net/exceptional_derek/article/details/38376255

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!