spring2.1中允许用户通过@Autowired注解对Bean的属性变量.属性Setter方法以及构造函数进行标注,配合AutowiredAnnotationBeanProcessor完成Bean的自动配置.
package com.lxm.anno;
....
import org.springframework.beans.factory.annotation.Autowired;
public class Boss{
private Title title;
@Autowired
private Car car;
private Office office;
@Autowired
public Boss(Title title){
this.title=title;
}
public void setCar(Car car){
this.car=car;
}
public void setTitle(Title title){
this.title=title;
}
@Autowired
public void setOffice(Office office){
this.office=office;
}
...//省略Getter
}
标注@Autowired注解的Bean并不会自动进行装配,它需要一个配套的处理器,既AutowiredAnnotationBeanPostProcessor,该Bean后置处理器会在Spring容器启动时自动为标住@Autowired注解的Bean实施自动装配.
1.对标注@Autowired注解的Bean进行处理.
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
<bean id="boss class="com.lxm.anno.Boss"/>
<bean class="com.lxm.anno.Title"/>
<bean class="com.lxm.auto.Office"/>
<bean class="com.lxm.attr.Car"/>