`
BradyZhu
  • 浏览: 245559 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring In Action读书笔记之三------------------SpEL运算符和自动配置

 
阅读更多

1.Comparing Values

去决定两个值之间的大小或者相等与否是一件非常有用的事情。下面我们来介绍一下在SpEL表达式中对于比较运

算符的支持。

由于==或者<=或者>=在XML中有特殊的意义,所以Spring提供了符号代替,==对应eg, <对应lt,<=对应le,>对应

gt,>=对应ge。可以在属性赋值的时候使用类是<property name="hasCapacity" value="#{counter.total le 1000}"/>这里的

hasCapacity当然是一个布尔值,这句话的意思就是counter类下面的total属相的值是是否小于1000。

2.Conditionally evaluating

三目运算符在Spel表达式里面仍然是有效的.比如下面的例子
<property name="instrument" value="#{songSlect.select()=='jingle Bells' ? piano:saxphone}"/>

3.Selecting Collection Members

可以在容器的选择符合条件的值放入到另一个容器中,这样的功能Spel同样提供

<property name="bigCities" value="#{cities.?[popultion gt 10000]}"/>这句话的意思是,把cities中的popytion中的

大于10000的值放入到bigCities 这个容器中去。
<property name="aBigCity" value="#{cities.^[population gt 1000]}"/>这句话的意思是,在cities这个容器中的所有

大于1000的值中的第一个数字放入到abigCity中。
<proerty name="aBigCity" value="#{cities.$[population gt 1000]}"/>这句话的意思是,在cities这个容器中的所有

大于1000的值中的最后一个数字放入到abigCity中。

4.projecting collections

可以选择容器中的某一项值放入到另外一个容器中去.
<property name="cityName" value="#{cities.![name]}"/>这句话的意思是把cities容器中的name属性全部放入到
cityName这个容器中去。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics