开启自动装配,只需要在xml配置文件中定义“autowire”属性。
< bean id=“cutomer” class=“com.xxx.xxx.Customer” autowire=“” />
autowire属性有五种装配的方式:
- no – 缺省情况下,自动配置是通过“ref”属性手动设定 。
手动装配:以value或ref的方式明确指定属性值都是手动装配。 需要通过‘ref’属性来连接bean。
- byName-根据bean的属性名称进行自动装配。
Cutomer的属性名称是person,Spring会将bean id为person的bean通过setter方法进行自动装 配。
< bean id=“cutomer” class=“com.xxx.xxx.Cutomer” autowire=“byName”/>
< bean id=“person” class=“com.xxx.xxx.Person”/>
- byType-根据bean的类型进行自动装配。
Cutomer的属性person的类型为Person,Spirng会将Person类型通过setter方法进行自动装配。
< bean> id=“cutomer” class=“com.xxx.xxx.Cutomer” autowire=“byType”/>
< bean> id=“person” class=“com.xxx.xxx.Person”/>
- constructor-类似byType,不过是应用于构造器的参数。如果一个bean与构造器参数的类型形
同,则进行自动装配,否则导致异常。
Cutomer构造函数的参数person的类型为Person,Spirng会将Person类型通过构造方法进行自动装 配。
< bean> id=“cutomer” class=“com.xxx.xxx.Cutomer” autowire=“construtor”/>
< bean> id=“person” class=“com.xxx.xxx.Person”/>
- autodetect-如果有默认的构造器,则通过constructor方式进行自动装配,否则使用byType方式 进行自动装配。
如果有默认的构造器,则通过constructor方式进行自动装配,否则使用byType方式进行自动装配。
@Autowired自动装配bean,可以在字段、setter方法、构造函数上使用。