Spring装配包括手动装配和自动装配。
手动装配有setter方法、构造方法、基于xml装配等装配方式。
自动装配有五种方式,可以用来指导Spring容器用自动装配方式来进行依赖注入。
1. no:默认的方式是不进行自动装配,通过显式设置ref 属性来进行装配。
2. byName:通过参数名 自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byname,之后容器试图匹配、装配和该bean的属性具有相同名字的bean。
3. byType:通过参数类型自动装配,Spring容器在配置文件中发现bean的autowire属性被设置成byType,之后容器试图匹配、装配和该bean的属性具有相同类型的bean。如果有多个bean符合条件,则抛出错误。
4. constructor:这个方式类似于byType, 但是要提供给构造器参数,如果没有确定的带参数的构造器参数类型,将会抛出异常。
5. autodetect:首先尝试使用constructor来自动装配,如果无法工作,则使用byType方式。