1.什么是自动装配
(1)根据指定装配规则(属性名称byname或者属性类型bytype),Spring自动将匹配的属性值进行注入
2.演示装配过程
(1)根据属性名称自动注入
定义的class类,属性名称为dept,所以bean标签外部属性注入的时候,会寻找bean标签id为dept的bean属性类
public class Emp { private Dept dept; @Override public String toString() { return "Emp{" + "dept=" + dept + '}'; } public void setDept(Dept dept) { this.dept = dept; } public void test(){ System.out.println(dept); } }
<!--实现自动装配 bean标签属性autowire,配置自动装配 autowire属性常用的两个值: byname根据属性名称注入,注入bean的id值和属性名称一样 byType根据属性类型注入 --> <bean id="emp" class="com.company.spring5.autowire.Emp" autowire="byName"> <!--<property name="dept" ref="dept">--><!--</property>--> </bean>
<bean id="dept" class="com.company.spring5.autowire.Dept"> </bean>
(2)根据属性类型注入
<bean id="emp" class="com.company.spring5.autowire.Emp" autowire="byType"> <!--<property name="dept" ref="dept">--><!--</property>--> </bean> <bean id="dept" class="com.company.spring5.autowire.Dept"> </bean>
如果有多个外部bean属性类型一样只是id不一样,则会报错,不知道配置哪一个
<bean id="dept1" class="com.company.spring5.autowire.Dept"> </bean>