乐趣区

关于spring:Spring-源码学习-08register-注册配置类

前言

看完无参结构的源码及流程之后,前面将会执行 register 办法。

register 办法,入参是咱们的配置类 JavaConfig.class,上面跟着源码持续往下走!

源码剖析

this.reader.register(componentClasses);

这里执行的是 reader 的办法,入参就是传入的 JavaConfig.class

reader 在之前初始化,就是注册一些 PostProcessor。

  1. 循环,注册所有的配置类;
  2. doRegisterBean 开始注册。

doRegisterBean 才是真正注册 Bean 的逻辑,从名字也能够有所猜想。上面开始进入 doRegisterBean 的源码浏览:

doRegisterBean

此处代码较长,以截图代替。

通过源码能够看出,这块次要流程:

  1. 校验传入的 JavaConfig.class 的注解(是否须要疏忽);
  2. 解决通用注解;
  3. 封装为 BeanDefinitionHolder 后,注册到容器中。

debug

通过 debug 能够看出,在执行完 register 之后,相当于将 JavaConfig 作为一个 Bean 注册到容器中。

总结

在我看来后面的局部次要波及到筹备工作,至于更深层次的钻研,剖析,临时没有深刻。

相干举荐

  • Spring 源码学习 07:ClassPathBeanDefinitionScanner
  • Spring 源码学习 06:AnnotatedBeanDefinitionReader
  • Spring 源码学习 05:BeanDefinition 概念及其实现
退出移动版