Spring的表达语言SpEL和IOC容器的Bean的生命周期

这篇博客讲一下SpEL的使用和Bean的声明周期

Spel的使用

Spring 表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大的表达式语言。
语法类似于 EL:SpEL 使用 #{…} 作为定界符,所有在大框号中的字符都将被认为是 SpEL
SpEL 为 bean 的属性进行动态赋值提供了便利
通过 SpEL 可以实现:
通过 bean 的 id 对 bean 进行引用
调用方法以及引用对象中的属性
计算表达式的值
正则表达式的匹配

  • 为bean 赋值 字面量
<property  name="age" value=#{18} />  # 为整数型赋值
<property  name="price" value=#{188.36} />  # 为小数型赋值
 <property  name="name" value=#{'小芳'} />  # 为String类型的属性赋值,赋值的内容需要使用 ' ' 单引号引起来 
  • 引用 Bean、属性、方法
<!--  使用 value 属性和SpEL指定Bean之间的关系,相当于 ref 属性。-->
<property name="car" value=#{car1} />
<!-- 引用其他对象的属性 -->
<property name="price" value=#{car.price} />
<!-- 调用其他 bean 的方法 -->
<property name="sffix" value="#{ car.toString() }" />

  • 支持运算符号
<!-- 支持 +, -, *, /, %, ^ -->
<property name="total" value=#{123+123} />
<property name="total" value=#{123*123} />
<property name="total" value=#{123/123} />

<!-- 支持字符串连接 -->
<property name="name" value="#{car.name + '  ' + car.name }" >

<!-- 比较运算符: <, >, ==, <=, >=, lt, gt, eq, le, ge -->
<propeyty name="equal" value="#{100==100}" />

<!-- 逻辑运算符号: and, or, not, | -->
<property  name="xxx" value="#{car.price == 100 and car.name == 'dazhong'}"/>
<!--应用静态类的静态方法 -->
<property name="xxxx" value="#{T(java.lang.Math).PI }" />

Bean的生命周期

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值