xml自动装配
1、什么是自动装配
之前在property标签中设置值叫做手动装配,自动装配可以根据属性类型、属性名称,spring中会自动完成属性的注入。
(1)根据指定装配规则(属性名称或者属性类型),Spring自动将匹配的属性值进行注入
(2)自动装配过程
实现自动装配
根据名称 byName
bean标签属性autowire,配置自动装配
autowire属性常用两个值:
byName根据属性名注入 注入值bean的id值和类属性名称要一样
byType根据属性类型进行注入
<bean id="emp" class="com.atguigu.spring5.collectiontype.autowire.Emp" autowire="byName">
</bean>
<bean id="dept" class="com.atguigu.spring5.collectiontype.autowire.Dept"></bean>
![在这里插入图片描述](https://img-blog.csdnimg.cn/446298e4a10a4d5ba562e47a308cc9a2.png) 输出没有问题
根据类型
<bean id="emp" class="com.atguigu.spring5.collectiontype.autowire.Emp" autowire="byType">
</bean>
<bean id="dept" class="com.atguigu.spring5.collectiontype.autowire.Dept"></bean>
</beans>
效果相同
这个报错的原因是根据类型注入的时候,dept有两个bean,不知道注入哪个。这时候相同类型的Bean不能创建多个,创建多个会报错。