github中spring源码学习笔记

208 阅读1分钟

我擦,最近好多人在推荐那个带你手写springboot源码的书,其实大家都一般抄,我虽然写不出那样的demo,但是我看得懂哈,为此我特意去github上搜了个mini的spring源码框架学习一波

github源码地址

github.com/DerekYRC/mi…

下面就是我的学习笔记了哈,欢迎大家参考:

1. bean容器作为BeanDefinitionRegistry和SingletonBeanRegistry的实现类,具备两者的能力。向bean容器中注册BeanDefinition后,使用bean时才会实例化。


2. org.springframework.beans.factory.BeanFactory#getBean
   org.springframework.beans.factory.config.SingletonBeanRegistry#getSingleton
   
   




image.png

1. 针对bean的实例化,抽象出一个实例化策略的接口InstantiationStrategy,有两个实现类:

-   SimpleInstantiationStrategy,使用bean的构造函数来实例化
-   CglibSubclassingInstantiationStrategy,使用CGLIB动态生成子类


image.png