DI:依赖注入:给属性赋值,spring提供了两种方法给属性赋值 1.set方法注入 2.构造器注入
给属性赋值的操作就是装配
第一种:set方法的依赖注入
写一个用来装配得Person.java类
public class Person {
private Long id;
private String name;
private Student student;
private List lists;
private Set sets;
private Map map; //set和get方法在这里省略
}
public class Student {
public void say(){
System.out.println("student");
}
}
在src目录下配置applicationContext.xml
<?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-2.5.xsd">
<bean id="person" class="com.mo.entity.Person">
<!--
property就是一个bean的属性
name就是用来描述属性的名称
value就是该属性的值
-->
<property name="name" value="狗娃"></property>
<property name="id" value="3"></property>
<!-- 装配一个实例对象 -->
<property name="student" ref="student"></property>
<!-- 装配一个list集合 -->
<property name="lists">
<list>
<value>list1</value>
<value>list2</value>
</list>
</property>
<!-- 装配一个set集合 -->
<property name="sets">
<set>
<value>set1</value>
<value>set2</value>
</set>
</property>
<!-- 装配一个map集合 -->
<property name="map">
<map>
<entry key="姓名">
<value>狗娃</value>
</entry>
</map>
</property>
</bean>
<bean id="student" class="com.mo.entity.Student"></bean>
</beans>
第二种:构造器的依赖注入
在Person.java类添加几个构造器
public Person(String name) {
this.name = name;
}
public Person(String name, Student student) {
this.name = name;
this.student = student;
<bean id="person" class="com.mo.entity.Person">
<!--
利用构造器进行依赖的注入
index 角标 从0开始 就是构造器参数的第几个
ref 引用其他的bean
-->
<constructor-arg index="0" value="狗娃 "></constructor-arg>
<constructor-arg index="1" ref="student"></constructor-arg>
</bean>
<bean id="student" class="com.mo.entity.Student"></bean>
这样就装配完毕