BeanFactory源码体系解析--ConfigurableListableBeanFactory三

继承关系图如上

 ConfigurableListableBeanFactory继承了ListableBeanFactory、AutowireCapableBeanFactory和ConfigurableBeanFactory三个接口,并扩展了忽略依赖,自动装配判断,冻结Bean的定义,枚举
所有Bean的功能,提供BeanDefinition的解析,注册功能,对单例的预加载(解决循环依赖问题),工厂接口的自有方法总体上只是对父类接口功能的补充,包含了BeanFactory体系目前的所有方法
,可以说是接口的集大成者。
接口主要方法有
1、ignoreDependencyType(Class<?> type) 
   忽略给定的自动装配依赖关系类型
2、ignoreDependencyInterface(Class<?> ifc)
   忽略给定的自动装配依赖关系接口
3、registerResolvableDependency(Class<?> dependencyType, @Nullable Object autowiredValue)
   使用相应的自动装配值注册特殊依赖关系类型
4、isAutowireCandidate(String beanName, DependencyDescriptor descriptor)
   确定指定的Bean是否有资格作为autowire的候选者,注入到声明匹配类型依赖关系的其他Bean中。
5、getBeanDefinition(String beanName)
   返回指定Bean的已注册BeanDefinition,允许访问其属性值和构造函数参数值(可以在Bean工厂后处理期间修改)
6、getBeanNamesIterator() 返回所有Bean名称的迭代对象
7、clearMetadataCache()  清除合并的Bean定义缓存,删除尚未被认为有资格进行完整元数据缓存的Bean条目。
8、freezeConfiguration() 冻结所有的Bean定义,表明注册的Bean定义不会被修改或进一步处理
9、isConfigurationFrozen() 返回是否冻结此工程的Bean定义。
10、preInstantiateSingletons() 确保所有的非Lazy-init单例都被实例化,预加载不是懒加载的单例.用于解决循环依赖问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值