1.什么是bean的自动装配
Spring自动装配:无需在Spring配置文件中描述javaBean之间的依赖关系(如配置<property>
、<constructor-arg>
)。 IOC容器会自动建立javaBean之间的关联关系。
2.自动装配的方式
(1)no:默认方式,不会进行自动装配,手动装配方式,需要通过ref设定bean的依赖关系
(2)byName:根据bean的名字进行装配,当一个bean的名称和其他bean的属性一致,则自动装配
(3)byType:根据bean的类型进行装配,当一个bean的属性类型与其他bean的属性的数据类型一致,则自动装配
(4)constructor:根据构造器进行装配,如果bean的构造器有与其他bean类型相同的属性,则进行自动装配
(5)autodetect:如果有默认构造器,则以constructor方式进行装配,失败后则以byType方式进行装配.
其中通过byName和byType进行自动装配也就是通过xml文件实现自动装配.
重点:
(1)注解方法装配属性的过程:spring会默认优先根据(被注解修饰的)属性类型去容器中找对应的组件(bean),找到就赋值;若找到多个相同类型的组件,再将属性的名称作为组件(bean)的id去容器中查找。
(2)@Qualifier注解可以和使用Autowired搭配使用:@Qualifier指定需要装配的组件的id,而不是使用属性名。