Spring源码之AbstractAutowireCapableBeanFactory

本文深入探讨Spring框架中AbstractAutowireCapableBeanFactory的作用,涉及bean的实例化、属性装配、初始化及生命周期管理。内容涵盖创建非预定义bean、原型bean的控制以及对AbstractBeanFactory模板方法的实现。此外,还介绍了自动装配、bean初始化过程以及对BeanPostProcessor、InitializingBean接口的调用等关键步骤。
摘要由CSDN通过智能技术生成

                                                                                                                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包,如果没有也可以正常运行,因为,只有当方法注入需要生成子

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值