Spring 源码学习 08:register 注册配置类
前言
看完无参构造的源码及流程之后,后面将会执行 register
方法。
register 方法,入参是我们的配置类 JavaConfig.class
,下面跟着源码继续往下走!
源码分析
this.reader.register(componentClasses);
这里执行的是 reader 的方法,入参就是传入的 JavaConfig.class
。
reader 在之前初始化,就是注册一些 PostProcessor。
- 循环,注册所有的配置类;
- doRegisterBean 开始注册。
doRegisterBean
才是真正注册 Bean 的逻辑,从名字也可以有所猜测。下面开始进入 doRegisterBean
的源码阅读:
doRegisterBean
此处代码较长,以截图代替。
通过源码可以看出,这块主要流程:
- 校验传入的
JavaConfig.class
的注解(是否需要忽略); - 处理通用注解;
- 封装为 BeanDefinitionHolder 后,注册到容器中。
debug
通过 debug 可以看出,在执行完 register
之后,相当于将 JavaConfig 作为一个 Bean 注册到容器中。
总结
在我看来前面的部分主要涉及到准备工作,至于更深层次的研究,分析,暂时没有深入。