我擦,最近好多人在推荐那个带你手写springboot源码的书,其实大家都一般抄,我虽然写不出那样的demo,但是我看得懂哈,为此我特意去github上搜了个mini的spring源码框架学习一波
github源码地址
下面就是我的学习笔记了哈,欢迎大家参考:
1. bean容器作为BeanDefinitionRegistry和SingletonBeanRegistry的实现类,具备两者的能力。向bean容器中注册BeanDefinition后,使用bean时才会实例化。
2. org.springframework.beans.factory.BeanFactory#getBean
org.springframework.beans.factory.config.SingletonBeanRegistry#getSingleton
1. 针对bean的实例化,抽象出一个实例化策略的接口InstantiationStrategy,有两个实现类:
- SimpleInstantiationStrategy,使用bean的构造函数来实例化
- CglibSubclassingInstantiationStrategy,使用CGLIB动态生成子类