no
:不进行自动转配byName
:通过属性名和bean的id或name进行注入- 属性必须有
setter
方法 <bean>
上一定要有和属性名称一致的的id
或name
- 属性必须有
byType
:通过类型注入- 属性必须要有
setter
方法 - 同一类型的
bean
必须唯一或直接没有,有多个则报错
- 属性必须要有
constructor
:通过构造方法注入- Spring会选择最优的构造方法(可以注入尽可能多的bean的那个构造方法)
- 锁定了构造方法后,若容器中没有其中的某个bean时,会报错
autodetect
- 先
constructor
- 再
byType
- 先