BeanFactory源码体系解析--AbstractAutowireCapableBeanFactory五

AbstractAutowireCapableBeanFactory 继承了AbstractBeanFactory,实现了AutowireCapableBeanFactory接口。
1、DefaultListableBeanFactory的作用
  提供Bean的创建功能(通过构造器)、属性渲染、装配(包括自动装配)、初始化。处理运行时的Bean引用,解析已经管理的结果
  调用初始化方法
2、DefaultListableBeanFactory实现的接口作用
AliasRegistry:制定别名的管理规则,定义了对alias的简单增删改等操作。
SimpleAlliasRegistry:用map作为alias的缓存,并对接口AliasRegistry进行实现。
SingletonBeanRegistry:定义对单例的注册以及获取。
DefaultSingletonBeanRegistry:对接口SingletonBeanRegistry各函数的实现。
FactoryBeanRegistrySupport:在DefaultSingletonBeanRegistry基础上增加了对FactoryBean的特殊处理功能。
DefaultListableBeanFactory 综合了接口的所有功能,主要负责了Bean注册后的处理逻辑。
3、属性字段
    // 是默认bean创建策略,CglibSubclassingInstantiationStrategy需要一个cglib包,如果没有也可以正常运行,
       因为,只有当方法注入需要生成子类时,才需要cglib
    InstantiationStrategy instantiationStrategy 
    // 默认的参数名字解析策略,asm字节码技术
    ParameterNameDiscoverer parameterNameDiscoverer
    // 是否允许bean的循环引用,默认是true
    boolean allowCircularReferences
    // 忽略给定type的自动装配功能autowiring
    final Set<Class<?>> ignoredDependencyTypes
    // 忽略给定interface的自动装配功能autowiring
    final Set<Class<?>> ignoredDependencyInterfaces
    // 当前创建的bean名称,用于从用户指定的Supplier回调触发的对getBean等调用的隐式依赖项注册
    NamedThreadLocal<String> currentlyCreatedBean
    // 未完成的FactoryBean实例的高速缓存
    Map<String, BeanWrapper> factoryBeanInstanceCache
    // 过滤后的PropertyDescriptor的缓存:bean类到PropertyDescriptors数组
    ConcurrentMap<Class<?>, PropertyDescriptor[]> filteredPropertyDescriptorsCache
    
4、主要方法
    Object applyBeanPostProcessorsBeforeInitialization 调用BeanPostProcessor后置处理器实例对象初始化之前的处理方法
    applyBeanPostProcessorsAfterInitialization() 调用BeanPostProcessor后置处理器实例对象初始化之后的处理方法

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值