Spring IOC 容器提供了两种管理Bean 依赖关系的方式:
1)、显式管理:通过BeanDefinition 的属性值和构造方法实现Bean 依赖关系管理。
2)、autowiring:Spring IOC 容器的依赖自动装配功能,不需要对Bean 属性的依赖关系做显式的声明,只需要在配置好autowiring 属性,IOC 容器会自动使用反射查找属性的类型和名称,然后基于属性的类型或者名称来自动匹配容器中管理的Bean,从而自动地完成依赖注入。
通过对autowiring 自动装配特性的理解,我们知道容器对Bean 的自动装配发生在容器对Bean 依赖注入的过程中。在前面对Spring IOC 容器的依赖注入过程源码分析中,我们已经知道了容器对Bean 实例对象的属性注入的处理发生在AbstractAutoWireCapableBeanFactory 类中的populateBean()方法中,我们通过程序流程分析autowiring 的实现原理: