主要区别
Autowire modes
no | 默认不开启 |
---|---|
byName | 根据被注入属性的名称作为 Bean 名称作为依赖查找,并将对象设置到该属性 |
byType | 根据被注入属性的类型作为依赖类型进行依赖查找,并将该对象设置到该属性 |
constructor | 特殊 byType 类型,用于构造器参数 |
我直接上例子让大家有一个直观的认识。
我们首先构造一个 model
public class Company {
// 特意把属性的名字做了改变。
private Employee emp;
public void setEmp(Employee emp) {
this.emp = emp;
}
@Override
public String toString() {
return "Company{" +
"employee=" + emp +
'}';
}
}
首先是 byName 的例子
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"