图文

Spring 源码学习 08:register 注册配置类

Spring 源码学习 08:register 注册配置类:原封面
文章目录2 节

本文发表已超过一年,部分内容可能已过时。

Spring 源码学习 08:register 注册配置类

前言

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

Spring 源码学习配图 1

register 方法,入参是我们的配置类 JavaConfig.class ,下面跟着源码继续往下走!

源码分析

Spring 源码学习配图 2

this.reader.register(componentClasses);

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

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

Spring 源码学习配图 3

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

doRegisterBean 才是真正注册 Bean 的逻辑,从名字也可以有所猜测。下面开始进入 doRegisterBean 的源码阅读:

doRegisterBean

Spring 源码学习配图 4

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

通过源码可以看出,这块主要流程:

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

debug

Spring 源码学习配图 5

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

总结

Spring 源码学习配图 6

在我看来前面的部分主要涉及到准备工作,至于更深层次的研究,分析,暂时没有深入。

相关推荐

打开原图

订阅更新,继续阅读新的实践记录

最近发布

评论

隐私提示

昵称、网址和评论内容会公开显示,邮箱不公开。请勿在评论中填写敏感信息。