6. IoC的自动装载(autowire)
定义
Ioc DI(依赖注入)可以通过配置property的ref属性将bean进行依赖注入,同时Spring还提供了另外一种更加简便的方式:自动装载,不需要手动配置property,IoC容器会自动选择bean完成依赖注入。
自动装载有两种方式:
byName:通过属性名完成自动装载。
<!-- 配置Car -->
<bean id="car" class="com.devlin.factory.StaticCarFactory" factory-method="getCar">
<constructor-arg value="1"></constructor-arg>
</bean>
<!-- 配置Person -->
<bean id="person" class="com.devlin.entity.Person" autowire="byName">
<property name="id" value="1"></property>
<property name="name" value="张三"></property>
</bean>
byType:通过属性的数据类型完成自动装载。
<!-- 配置Car -->
<bean id="car2" class="com.devlin.factory.StaticCarFactory" factory-method="getCar">
<constructor-arg value="1"></constructor-arg>
</bean>
<!-- 配置Person -->
<bean id="person" class="com.devlin.entity.Person" autowire="byType">
<property name="id" value="1"></property>
<property name="name" value="张三"></property>
</bean>
如果IoC容器同时存在多个数据类型相同的bean,会抛出异常。
Last updated
Was this helpful?