0%

Spring-自动装配

简单说说自动装配

传统装配方式,也叫显式装配,我们需要手动改动 bean.xml 来对 bean 注入依赖。

例如:(bean.xml 中)

1
2
3
4
5
<bean id="b" class="...">
<property name="a" ref="a" />
</bean>

<bean id="a" class="..."></bean>

当要装配的 bean 较多时,编写是比较累的,而使用 Spring 提供的 自动装配 ,就能有效减少编写的工作量。

自动装配

<bean> 的属性 autowire 来定义 bean 的装配模式。

装配模式

模式 描述
no 传统方式,不会自动装配
byName 通过 name 来自动匹配装配属性
byType 通过 类型 来自动匹配装配属性
constructor 适用于 构造函数注入依赖 ,类似于 byType 的装配方式
autodelect Spring首先使用 constructor 装配,如果不执行,将使用 byTpye 装配
  • 以上模式,当装配失败时,会抛出异常

用法

除 “ no” 以外,四个模式用法均相同。

以下举例 byName 装配:(bean.xml)

1
2
3
<bean id="b" class="..." autowire="byName"></bean>

<bean id="a" class="..."></bean>
  • bean 中其他 property 依旧可以配置