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针对的是代理对象,代理对象不会存在你的半成品池中。

浙公网安备 33010602011771号