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

spring中spEL常用应用场景

时间:2015-05-10 14:11:03      阅读:318      评论:0      收藏:0      [点我收藏+]

标签:

spEL表达式表示:#{}

一、基本类型值运算操作

  {}可以放置数字,字符串,布尔型,表达式(运算,正则,逻辑)。这个应用场景和EL表达式一样的,实际中用的也不多。

  注意:在XML中表示==,>,<,>=,<=,必须使用eq,gt,lt,ge,le代替

    使用三目运算符,如#{user.name != null ? user.name:‘liming‘},类似这种表达式可以简化写成#{user.name ?:‘liming‘},只有在判断是否为空值时才能使用这种简化写法哦。

二、引用Bean

  虽然在<property />中引用另一个Bean可以使用"ref",但使用spEL也可以引用容器中的任意Bean,当然这种方式用的并不多。但它还有一个强大的功能,当我们只需要引用另一个Bean中的某个属性值,我们就可以使用spEL表达式来写了,例如<property name="name" value="#{user.name}" />,这里就相当于调用了user.getName()。如果你想调用user里非get**方法的话,如user里有selectUser(),就写成#{user.selectUser()}

  注意:这里如果user的为null,调用selectUser()方法就会报空指针异常,解决的方法是采用null-safe存储器,也就是user?.selectUser(),这里就会现判断user是否为null,如果为空就不调用selectUser()方法了,直接返回null值。

三、操作类

  当我们需要装载一个类到一个Bean属性中时,我们可以使用T()运算符,如#{T(java.lang.Math)},同样我们可以调用类里的静态成员变量和静态方法,如#{T(java.lang.Math).PI},#{T(java.lang.Math).random()}

 

spring中spEL常用应用场景

标签:

原文地址:http://www.cnblogs.com/manliu/p/4492167.html

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