Spring IOC的理解

IOC容器可以用来解耦,A类想要创建B类的对象,需要new一个。这样你两个类之间就有了依赖关系,你如果想修改B的构造方法,那么你的A也要修改,这样耦合性就太高

用IOC容器只用在容器中创建,A直接拿取B类的对象,这样你改变B的构造函数对我的A不影响

IOC调用过程:

1.创建beanfactory容器

2.读取配置文件,将配置信息存在BeanDefinition中

3.调用beanfactorypostprocessor,加载配置信息,调用监听器,广播器

4.对象实例化

5.对象初始化

6.调用对象

 

Spring是一个框架,在整个代码的生产中都依赖它。它首先有作为一个IOC容器的作用,里面会装所有的bean对象,承载了bean的创建到销毁的生命周期的管理。bean的创建可以使用配置文件,也可以使用注解的方式。当程序启动的时候,spring会把我们的配置文件包装成一个beandefinition的对象,spring会通过beanfactorypostprocessor去对这些beandefinition进行扩展,然后当你getbean的时候,它会初始化一个该对象,并且对该对象进行数据填充和初始化,最终我们可以拿到这个对象。

 

bean的循环依赖:两个类我依赖你,你依赖我

单例池,半成品池,工厂池:

半成品池中当一个对象实例化的时候会存入

工厂池解决的是AOP的循环依赖,AOP针对的是代理对象,代理对象不会存在你的半成品池中。

 

posted @ 2021-08-02 16:57  浪人2077  阅读(108)  评论(0)    收藏  举报