public class Car {
private String brand;
private double price;
private double typePrimeter;
public double getTypePrimeter() {
return typePrimeter;
}
public void setTypePrimeter(double typePrimeter) {
this.typePrimeter = typePrimeter;
}
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 + ", typePrimeter="
+ typePrimeter + "]";
}
}
public class Person {
private String name;
private Car car;
private Address address;
private String info;
public String getInfo() {
return info;
}
public void setInfo(String info) {
this.info = info;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Car getCar() {
return car;
}
public void setCar(Car car) {
this.car = car;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
@Override
public String toString() {
return "Person [name=" + name + ", car=" + car + ", address=" + address
+ ", info=" + info + "]";
}
}
<?xml version="1.0" encoding="UTF-8"?>
<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.xsd">
<bean id="car" class="com.auguigu.spring.beans.spel.Car">
<property name="brand" value="Audi"></property>
<property name="price" value="30000"></property>
<property name="typePrimeter" value="#{T(java.lang.Math).PI*80}"></property>
</bean>
<bean id="person" class="com.auguigu.spring.beans.spel.Person">
<property name="name" value="zhangsan"></property>
<property name="car" value="#{car}"></property>
<property name="info" value="#{car.price>10000?'白领':'金领'}"></property>
</bean>
</beans>
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext("./beans-spel.xml");
Person p = (Person) ctx.getBean("person");
System.out.println(p);
}
}
log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Person [name=zhangsan, car=Car [brand=Audi, price=30000.0, typePrimeter=251.32741228718345], address=null, info=白领]