User类
package com.test.domain;
public class User {
private int id;
private String username;
public User() {
}
public User(int id, String username) {
this.id = id;
this.username = username;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
Order类
package com.test.dao;
import com.test.domain.User;
public class Order {
private int id;
private String name;
private User user;
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;
}
}
一、Spring的Bean的属性注入
1)、构造方法的方式注入属性
配置
<!--
构造方法的方式注入属性(需要有对应的有参构造函数):
创建实列同时就注入属性
-->
<bean id="user" class="com.test.domain.User">
<constructor-arg name="id" value="1"></constructor-arg>
<constructor-arg name="username" value="haoren"></constructor-arg>
</bean>
2)、set 方法的方式注入属性
配置
<!-- set 方法的方式注入属性(首先使用无参把实列创建起来,然后再调用对应的set方法来进行赋值) -->
<bean id="user2" class="com.test.domain.User">
<property name="id" value="2"></property>
<property name="username" value="huairen"></property>
</bean>
二、Spring的属性注入(对象类型的注入)
配置
<!--
Spring 的属性注入:对象类型的注入:
ref属性:引用另一个 bean的 id或 name
-->
<bean id="order" class="com.test.dao.Order">
<property name="id" value="3"></property>
<property name="name" value="毛衣"></property>
<property name="user" ref="user"></property>
</bean>
三、测试
package springpro1;
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");
User user = (User) ap.getBean("user");
System.out.println(user.getId()+" "+user.getUsername());
User user2 = (User) ap.getBean("user2");
System.out.println(user2.getId()+" "+user2.getUsername());
Order order = (Order) ap.getBean("order");
System.out.println(order.getId()+" "+order.getName()+"--------"+order.getUser().getId()+" "+order.getUser().getUsername());
}
}