Java相关

Spring - IOC实现

2020-04-11  本文已影响0人  万福来

在Spring IOC容器的设计中,有两个主要的容器系列,一个是是实现了BeanFactory接口的简单容器系列;
这系列容器只实现了容器的最基本功能;另一个是ApplicationContext应用上下文,它是容器的高级形态,应用上下文在简单容器的基础上,增加了许多面向框架的特性,同时对应用环境做了许多适配。

IOC容器的工作原理

在容器初始化操作完成后,IOC容器就可以对外使用了,但这时IOC容器内部只是维护了BeanDefinition,
还没有生成具体的Bean和依赖注入。

依赖注入的工作原理

在客户第一次向容器getBean时,IOC容器就会对相关Bean依赖关系进行注入,如果涉及到的依赖关系也没有初始化完成,则容器会直接递归调用getBean直到该Bean所有的依赖Bean都初始化后,所有的依赖对象注入完成后,然后将创建好的Bean返回给客户。
如果Bean配置的lazy-init=false,则会在容器初始化之后,直接遍历所有的BeanDefinition判断lazy-init属性值,如果没有启用懒加载,则直接触发getBean方法,在容器初始化完成后,直接加载这些Bean。

上一篇 下一篇

猜你喜欢

热点阅读