本文主要是介绍Spring 系列 | SpringIOC依赖查找,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前面几篇文章我们聊过IOC以及Spring IOC ,其中Spring IOC 的一个实现方式包含 依赖查找 和依赖注入。本文我们进一步详细聊一下 SpringIOC的依赖查找,及其对应的方式 以及安全性,内置依赖等。
查找类型
1单一类型
- 根据 Bean 名称查找
- 根据 Bean 类型查找
- 根据 Bean 名称 + 类型查找
2 集合类型依赖查找:如何查找已知类型多个Bean集合
getObjectType 提前把一些类进行初始化 导致Bean 初始化不完全,位置错误。
先根据名称查找更好。
ListableBean Factory 是针对于某一个类型去查找一个集合列表。集合列表可能有两种情况,1)查询这个bean的名称 2) 查询Bean 的实例
推荐使用Bean 的名称去判断这个Bean 是否存在。当然重要的方式是判断BeanDefinition 是否存在。这种方式会避免提早初始化Bean
3 层次性依赖查找
HierarchicalBeanFactory
与双亲委派非常相似,如果有层次性的话,就会一直往上递进查找,直到找到。
4 延迟依赖查找
-
org.springframework.beans.factory.ObjectFactory
-
org.springframework.beans.factory.ObjectProvider
上面我们讲到的是Spring 的几种查找方式,接下来我们从安全性 以及 内置依赖两个方面扩展一下
依赖查找安全性对比
内建可查找的依赖
- AbstractApplicationContext 内建可查找的依赖
- 注解驱动 Spring 应用上下文内建可查找的依赖 等
依赖查找中的经典异常
总结:本文记录SpringIOC依赖查找 依赖查找的几个方式,以及从安全性 以及内置依赖等方面来进一步了解 SpringIOC依赖查找。后续继续对Spring 进行进一步的介绍。
注:本文大部分取自于极客视频并进行加工。大家感兴趣的可以直接移步极客 看小马哥讲Spring核心编程思想~
这篇关于Spring 系列 | SpringIOC依赖查找的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!