Spring3.x 版本后提供的方式
一级目录
1、Order类
package com.test.dao;
import com.test.domain.User;
public class Order {
private int id;
private String name;
private User user;
public Order() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
2、配置
对象类型的注入
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.2.xsd">
<!--
Spring 的属性注入:对象类型的注入:
ref属性:引用另一个 bean的 id或 name
-->
<bean id="order" class="com.test.domain.Order">
<property name="id" value="3"></property>
<property name="name" value="毛衣"></property>
<property name="user" ref="user"></property>
</bean>
<!-- SpEL 的方式的属性注入:Spring3.x 版本后提供的方式 -->
<!-- SpEL的注入的方式 -->
<bean id="order2" class="com.test.dao.Order">
<property name="id" value="#{5}"/>
<property name="name" value="#{'小米'}"/>
</bean>
<!-- 引用了另一个类的属性 -->
<bean id="order3" class="com.test.dao.Order">
<property name="id" value="#{order.id}"/>
<property name="name" value="#{order2.name}"/>
</bean>
</beans>
3、测试
package springpro1;
import java.util.Iterator;
import java.util.List;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.test.dao.Order;
import com.test.dao.UserDao;
import com.test.domain.User;
public class TestDemo1 {
@Test
public void test2() {
ApplicationContext ap = new ClassPathXmlApplicationContext("applicationContext.xml");
Order order2 = (Order) ap.getBean("order2");
System.out.println(order2.getId()+" "+order2.getName());
Order order3 = (Order) ap.getBean("order3");
System.out.println(order3.getId()+" "+order3.getName());
}
}