我们都知道 spring 中最精髓的地方是就是IOC控制反转。也就是说spring对Bean的管理。
我就是单纯的好奇:Bean 是怎么加载的,怎么初始化的
Bean 是什么时候创建的
Bean 是怎么管理的
Bean 的生命周期
Bean 存放在哪里
# # 对于第一个问题:Bean 是怎么加载的,怎么初始化的
可以一起学下这篇文章,从源码的层次来讲解的,非常详细,又很容易理解。
https://blog.csdn.net/u013510838/article/details/75126299
# # Bean 是什么时候创建的
在xml中配置bean的时候,如果没有设置 lazy-init=true这个属性,那么这个bean的创建时机就是容器启动时就自动创建了这个类的实例,如果设置了lazy-init=true这个属性,那么这个类的创建时机就是调用这个类时初始化,就是所谓的懒加载,不用这个类的时候spring容器不会主动加载。这样做的好处是,如果这个类配置错误,那么spring启动的时候仍然能启动成功,直到后面调用的时候才会报错。如果没有配置懒加载的情况是spring启动时,就加载所有没有配置lazy-init=true的bean,可以做到提前检查,如果配置错误,spring就会启动报错。
# # Bean是怎么管理的
推荐看一下这篇文章,因为这篇文章里边又一个 案例模仿了管理Bean的过程
https://blog.csdn.net/qiesheng/article/details/60869592
# # Bean 的生命周期
优先推荐看第一个链接去学习
https://blog.csdn.net/a327369238/article/details/52193822#comments
https://www.cnblogs.com/zrtqsk/p/3735273.html
# # Bean 存放在哪里
再一起了解下IOC容器把
https://blog.csdn.net/a327369238/article/details/52182415