SpEL是Spring 3.0以后开始用的,主要是比较灵活,在赋值时可以进行运算。
package spring.demo2;
public class employee {
String name;
Car car;
public void setName(String name) {
this.name = name;
}
public void setCar(Car car) {
this.car = car;
}
@Override
public String toString() {
return "employee [name=" + name + ", car=" + car + "]";
}
}
package spring.demo2;
public class Car {
String name;
Double price;
public void setName(String name) {
this.name = name;
}
public void setPrice(Double price) {
this.price = price;
}
@Override
public String toString() {
return "Car [name=" + name + ", price=" + price + "]";
}
}
package spring.demo2;
public class CarInfo {
String name="奔驰";
public String getName() {
return this.name;
}
public Double calculatePrice() {
return Math.random()*3000;
}
}
将Spring管理的Car对象注入到employee对象当中,并利用CarInfo里面的信息。
applicationContext.xml配置文件 用 SpEL配置属性。
<bean id="carInfo" class="spring.demo2.CarInfo"></bean>
<bean id="car" class="spring.demo2.Car">
<property name="name" value="#{carInfo.name}"></property>
<property name="price" value="#{carInfo.calculatePrice()}"></property>
</bean>
<bean id="employee" class="spring.demo2.employee">
<property name="name" value="#{'zhaohong'}"></property>
<property name="car" value="#{car}"></property>
</bean>