通过对autowiring的源码分析,我们可以看出,autowiring的实现过程:
a. 对Bean的属性迭代调用getBean方法,完成依赖Bean的初始化和依赖注入。
b. 将依赖Bean的属性引用设置到被依赖的Bean属性上。
c. 将依赖Bean的名称和被依赖Bean的名称存储在IoC容器的集合中。
Spring IoC容器的autowiring属性自动依赖注入是一个很方便的特性,可以简化开发时的配置,但是凡是都有两面性,自动属性依赖注入也有不足,首先,Bean的依赖关系在配置文件中无法很清楚地看出来,对于维护造成一定困难。其次,由于自动依赖注入是Spring容器自动执行的,容器是不会智能判断的,如果配置不当,将会带来无法预料的后果,所以自动依赖注入特性在使用时还是综合考虑。