Spring EL方法調用實例

Spring運算式語言(使用SpEL)允許開發人員使用運算式來執行方法和將返回值以注入的方式到屬性,或叫作“使用SpEL方法調用”。

Spring EL在注解的形式

瞭解如何實現Spring EL方法調用與@Value注釋。
package com.zaixian.core;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("customerBean")
public class Customer {

	@Value("#{'zaixian'.toUpperCase()}")
	private String name;

	@Value("#{priceBean.getSpecialPrice()}")
	private double amount;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public double getAmount() {
		return amount;
	}

	public void setAmount(double amount) {
		this.amount = amount;
	}

	@Override
	public String toString() {
		return "Customer [name=" + name + ", amount=" + amount + "]";
	}

}
package com.zaixian.core;

import org.springframework.stereotype.Component;

@Component("priceBean")
public class Price {

	public double getSpecialPrice() {
		return new Double(199.09);
	}

}

輸出

Customer [name=zaixian, amount=199.09]

一點解釋

在字串文本上調用 toUpperCase()方法。
@Value("#{'zaixian'.toUpperCase()}")
private String name;

在 ‘priceBean‘ Bean上調用getSpecialPrice() 方法

@Value("#{priceBean.getSpecialPrice()}")
private double amount;

Spring EL在XML的形式

請參閱在XML檔定義bean的等效版本。
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

	<bean id="customerBean" class="com.zaixian.core.Customer">
		<property name="name" value="#{'zaixian'.toUpperCase()}" />
		<property name="amount" value="#{priceBean.getSpecialPrice()}" />
	</bean>

	<bean id="priceBean" class="com.zaixian.core.Price" />

</beans>

輸出

Customer [name=zaixian, amount=199.09]
下載代碼 –  http://pan.baidu.com/s/1mhdwodU

上一篇: Spring EL bean引用實例 下一篇: Spring EL運算符實例