本文主要是介绍Spring源码之AbstractAutowireCapableBeanFactory,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
AbstractAutowireCapableBeanFactory
整体这个类做的事情有:提供bean创建功能(通过构造器)、属性渲染,装配(包括自动装配)、初始化。处理运行时的bean引用,解析已经管理的结果、调用初始化方法。并且提供了自动装配的功能。
子类需要实现的方法主要是resolveDependency(DependencyDescriptor, String, Set, TypeConverter)
, 此方法用于实现按类型匹配的自动装配,依赖解析成bean。此类没有实现bean definition 注册功能,需要子类来完成。
此类的构造方法会导致BeanNameAware、BeanFactoryAware、BeanClassLoaderAware类型的依赖无法被解析(调用方法this.ignoredDependencyInterfaces.add(typeToIgnore);)
private InstantiationStrategy instantiationStrategy = new CglibSubclassingInstantiationStrategy();
CglibSubclassingInstantiationStrategy是默认bean创建策略,CglibSubclassingInstantiationStrategy需要一个cglib包,如果没有也可以正常运行,因为,只有当方法注入需要生成子
这篇关于Spring源码之AbstractAutowireCapableBeanFactory的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!