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

spring 学习小结5_spel

2016-02-25 21:37 483 查看
spel:

Spring 表达式语言:是一个支持运行时查询和操作对象图的强大的表达式语言。

语法类似EL: 使用#{...} 作为定界符,所有在大框号中的字符都将被认为是spel。

spel为bean 的属性进行动态赋值提供了便利。

1.字面量的表示: 没有多大意义

整数:#{123}

小数:#{12.23}

科学计数法: #{12e3}

String 使用单引号或者双引号作为字符串的定界符: #{"bai"}, #{'bai'}

boolean: #{false}

2.引用其他对象,引用其他对象的属性,引用其他方法(包含链式操作)

#{对象名称}

#{对象名称.属性名称}

#{对象名称.方法名()}

#{对象名称.方法名().方法名()}

3.spel支持的运算符

1>算数运算符: + , - ,* ,/ , % , ^

+:还可以表示字符串的连接

2>比较运算符:< , > ,== ,<= , >= ,lt,gt,eg,le,ge

3>逻辑运算符: and ,or ,not ,!

4>三元表达式:?:

5>正则表达式

<!-- 使用手spel为属性赋一个字面值 -->

<bean id = "address" class = "com.hl.spring.spel.Address">

<property name="city" value = "#{'beijing'}"></property>

<property name="street" value = "wudao"></property>

</bean>

<!-- 使用spel引用类的静态常量 -->

<bean id = "car" class = "com.hl.spring.spel.Car">

<property name="brand" value = "#{'beijing'}"></property>

<property name="price" value = "#{11.3}"></property>

<property name="zhouchang" value = "#{T(java.lang.Math).PI * 8}"></property>

</bean>

<bean id = "person" class = "com.hl.spring.spel.Person">

<!-- 使用spel来引用其他的bean -->

<property name="car" value = "#{car}"></property>

<!-- 使用spel来引用其他的bean的属性 -->

<property name="city" value = "#{address.city}"></property>

<!-- 在 spel中使用运算符-->

<!-- 动态赋值 -->

<property name="info" value = "#{car.price > 100 ? '金': '白'}"></property>

<property name="name" value = "#{'baidu'}"></property>

</bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: