Spring 依赖注入
Spring 依赖注入(DI)
- DI:中文名称为依赖注入,英文名称为Dependency Injection。
DI是什么
- DI 和 IOC 是一样的。
- 当一个类中需要依赖另一个类对象时,
首先创建一个 People 类,如下:
public class People {
private int id;
private String name;
private Set<String> sets;
private List<String> lists;
private String [] strs;
private Map<String,String> map;
private Desk desk;
public People() {
super();
System.out.println("people 构造方法");
// TODO Auto-generated constructor stub
}
public People(int id, String name) {
super();
this.id = id;
this.name = name;
System.out.println("people 有参构造方法");
}
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 Set<String> getSets() {
return sets;
}
public void setSets(Set<String> sets) {
this.sets = sets;
}
public List<String> getLists() {
return lists;
}
public void setLists(List<String> lists) {
this.lists = lists;
}
public String[] getStrs() {
return strs;
}
public void setStrs(String[] strs) {
this.strs = strs;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public Desk getDesk() {
return desk;
}
public void setDesk(Desk desk) {
this.desk = desk;
}
@Override
public String toString() {
return "People [id=" + id + ", name=" + name + ", sets=" + sets + ", lists=" + lists + ", strs="
+ Arrays.toString(strs) + ", map=" + map + ", desk=" + desk + "]";
}
}
再创建一个桌子类对象,如下:
public class Desk {
private int id;
private double price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
在 people 对象中依赖注入桌子对象。如下:
<bean id="peo4" class="com.spring.People">
<property name="desk" ref="desk"></property>
</bean>
- 上方注入 desk 类,所以需要注入一个 desk,如下:
<bean id="desk" class="com.spring.Desk">
<property name="id" value="1"></property>
<property name="price" value="12"</property>
</bean>