博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring表达式语言SpEL简单介绍
阅读量:4656 次
发布时间:2019-06-09

本文共 1256 字,大约阅读时间需要 4 分钟。

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>

此外还有正則表達式匹配和集合操作,大家感兴趣能够查阅相关文档,这里就不给大家赘述了~

posted on
2017-06-06 10:09 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/mthoutai/p/6950075.html

你可能感兴趣的文章
Node.js-Webstorm2018配置nodejs
查看>>
20145325张梓靖 《信息安全系统设计基础》第9周学习总结
查看>>
uiautomatorviewer 可以查看到android中的web 元素信息
查看>>
base64解密
查看>>
博客搭建-Github Pages+Hexo
查看>>
Javascript实现复制到剪贴板
查看>>
使用Data URL将图片嵌入到网页中
查看>>
(转)微软Ajax.SlideShowExtender控件使用详解
查看>>
实现Windows程序的数据的绑定
查看>>
[kali] 安装完kali之后允许远程ssh
查看>>
Chrome下面查看placeholder的样式
查看>>
Opencv 330 如何進行圖像的旋轉?
查看>>
NHibernate.3.0.Cookbook第二章第9节的翻译
查看>>
php初学习
查看>>
POJ 1142 Smith Numbers(分治法+质因数分解)
查看>>
UVa 1662 Brackets Removal
查看>>
linux系统准备(VM10+CentOS-7-Mini)
查看>>
eclipse配置tomcat,访问http://localhost:8080出现404错误
查看>>
extern函数声明(转)
查看>>
?: 运算符(C# 参考)
查看>>