1 public class Address {
2 private String city;
3 private String street;
4
5 public String getCity() {
6 return city;
7 }
8
9 public void setCity(String city) {
10 this.city = city;
11 }
12
13 public String getStreet() {
14 return street;
15 }
16
17 public void setStreet(String street) {
18 this.street = street;
19 }
20
21 @Override
22 public String toString() {
23 return "Address{" +
24 "city='" + city + '\'' +
25 ", street='" + street + '\'' +
26 '}';
27 }
28 }
package SpringSPEL;
public class Car {
private String brand;
private double price;
//轮胎的轴长
private double tyrePerimeter;
public double getTyrePerimeter() {
return tyrePerimeter;
}
public void setTyrePerimeter(double tyrePerimeter) {
this.tyrePerimeter = tyrePerimeter;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Car{" +
"brand='" + brand + '\'' +
", price=" + price +
", tyrePerimeter=" + tyrePerimeter +
'}';
}
}
1 package SpringSPEL;
2
3 public class Person {
4 private String name;
5 private Car car;
6 private String city;
7 //car 的price>300000是金领,否则是白领
8 private String info;
9
10 public String getCity() {
11 return city;
12 }
13
14 @Override
15 public String toString() {
16 return "Person{" +
17 "name='" + name + '\'' +
18 ", car=" + car +
19 ", city='" + city + '\'' +
20 ", info='" + info + '\'' +
21 '}';
22 }
23
24 public void setCity(String city) {
25 this.city = city;
26 }
27
28 public String getInfo() {
29 return info;
30 }
31
32 public void setInfo(String info) {
33 this.info = info;
34 }
35
36 public String getName() {
37 return name;
38 }
39
40 public void setName(String name) {
41 this.name = name;
42 }
43
44 public Car getCar() {
45 return car;
46 }
47
48 public void setCar(Car car) {
49 this.car = car;
50 }
51 }
1 package SpringSPEL;
2
3 import org.springframework.context.support.ClassPathXmlApplicationContext;
4
5 public class Main {
6 public static void main(String[] args) {
7 ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("SpringSPEL/beans-spel.xml");
8 Address adress = (Address) classPathXmlApplicationContext.getBean("adress");
9 System.out.println(adress);
10 Car car = (Car) classPathXmlApplicationContext.getBean("car");
11 System.out.println(car);
12 Person person = (Person) classPathXmlApplicationContext.getBean("person");
13 System.out.println(person);
14 }
15 }
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
5
6 <bean id="adress" class="SpringSPEL.Address">
7 <property name="city" value="#{'Beijing'}"></property>
8 <property name="street" value="#{'王府井'}"></property>
9 </bean>
10
11 <bean id="car" class="SpringSPEL.Car">
12 <property name="brand" value="BaoMa"></property>
13 <property name="price" value="50000"></property>
14 <!--使用spel引用类的静态常量属性-->
15 <property name="tyrePerimeter" value="#{T(java.lang.Math).PI*80}"></property>
16 </bean>
17
18 <bean id="person" class="SpringSPEL.Person">
19 <property name="car" value="#{car}"></property>
20 <property name="city" value="#{adress.city}"></property>
21 <property name="info" value="#{car.price>30000?'金领':'白领'}"></property>
22 <property name="name" value="#{'张浩'}"></property>
23 </bean>
24 </beans>