1、引用类型自动注入。我们可以写一个property来注入引用的类,如果引用的类多了,就会造成代码的冗余。因此我们用自动注入来替代手动注入。
1.1、通过byName来自动注入。在bean便签中加入autowrie=“byName”。
原理:当在bean便签中碰到byName标签的时候,会寻找id值==属性名的bean,寻找到了,就会自动注入到该bean中。
<bean id="mystudent" class="com.spring05.Student" autowire="byName">
<property name="name" value="ljq"/>
<property name="age" value="21"/>
</bean>
<bean id="school" class="com.spring05.School">
<property name="name" value="华软"/>
<property name="address" value="从化"/>
</bean>
1.2、通过byType方式自动注入。跟byName原理差不多,只是寻找的方式。同理不同于寻找id的值属性值,而是寻找数据类型属性值,如果在配置文件中注入的引用类型和bean中的对应的类是属于父子关系,或者是接口和实现类的关系都能够注入。
<bean id="mystudent" class="com.spring05.Student" autowire="byType">
<property name="name" value="ljq"/>
<property name="age" value="21"/>
</bean>
<bean id="school" class="com.spring05.School">
<property name="name" value="华软"/>
<property name="address" value="从化"/>
</bean>