diff --git a/docs/spring-sourcecode-v1/01.第1章-Spring源码纵览.md b/docs/spring-sourcecode-v1/01.第1章-Spring源码纵览.md index 84b6581..348a5f4 100644 --- a/docs/spring-sourcecode-v1/01.第1章-Spring源码纵览.md +++ b/docs/spring-sourcecode-v1/01.第1章-Spring源码纵览.md @@ -334,6 +334,10 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto ### 注册BeanDefinition-1 +#### 流程图-BeanDefinition注册流程 + + + - 我们要看BeanDefinition是何时被放入到beanDefinitionMap,只需要在DefaultListableBeanFactory用到`beanDefinitionMap.put()`的地方打个断点。 - 我们在DefaultListableBeanFactory里搜索,发现了registerBeanDefinition(注册Bean定义信息)这个方法名很像我们要找的东西,再看里面的代码,果然有`beanDefinitionMap.put()`这串代码,我们试着在这里打个断点 - 然后启动下面的测试类 @@ -973,6 +977,10 @@ public interface Aware { #### 创建Person对象 +##### 流程图-Bean对象创建流程 + + + ##### Debug调用栈 为了知道Aware的原理,我们给上面的pos_1和pos_2位置打上断点,看下是怎么进来的 @@ -1165,7 +1173,7 @@ public class MainConfig { synchronized (this.singletonObjects) { // ... try { - // 通过getObject获取真正的对象,有点类似于FactoryBean(这个不懂的建议先了解下Spring基本欧诺个发), + // 通过getObject获取真正的对象,有点类似于FactoryBean(这个不懂的建议先了解下Spring基本用法), // ObjectFactory类注释有说明。 singletonObject = singletonFactory.getObject(); newSingleton = true;