SpEL

  • Spring表达式语言(简称SpEL):是一个支持运行时查询和操作对象图的强大表达式语言。
  • 语法类似于EL:SpEL使用 #{...} 作为界定符,所有在大框号中的字符都将被认为是SpEL
  • SpEL为bean的属性进行动态赋值提供了便利。

通过SpEL可以实现

  • 通过bean的id对bean进行引用
  • 调用方法以及引用对象中的属性
  • 计算表达式的值
  • 正则表达式的匹配

下面示例中演示显示使用SpEL常量值和引用其他bean的方式

配置文件如下:

    <bean id="flowerBean" class="com.pfSoft.spel.Flower" p:flowerName="rose" p:color="#{'红色'}" p:price="300"></bean>
    <!-- 显示了如何通过SpEL引用其他的bean,和其他bean的属性 -->
    <bean id="shopBean" class="com.pfSoft.spel.Shop" p:shopName="心情物语花店" p:price="#{flowerBean.price}" p:myFower="#{flowerBean}" ></bean>

 

 测试代码:

	@Test
	public void	 testSpel() {
		Flower flower=   (Flower) applicationContext.getBean("flowerBean");
		Shop shop=   (Shop) applicationContext.getBean("shopBean");
		System.out.println(flower.toString());
		System.out.println(shop.toString()); 
	}

 输出:

Flower [flowerName=rose, price=300.0, color=红色]
Shop [shopName=心情物语花店, myFower=Flower [flowerName=rose, price=300.0, color=红色], price=300.0]

 

posted on 2016-04-25 22:46  falcon_fei  阅读(254)  评论(0编辑  收藏  举报