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

发布于: 2020 年 12 月 07 日
Spring 源码学习 08:register 注册配置类

前言



看完无参构造的源码及流程之后,后面将会执行 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 注册到容器中。



总结





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



相关推荐





发布于: 2020 年 12 月 07 日阅读数: 16
用户头像

个人公众号:『 程序员小航 』 2020.07.30 加入

某不知名互联网公司 Java 程序员一枚。记录工作学习中的技术、开发及源码笔记;分享生活中的见闻感悟。

评论

发布
暂无评论
Spring 源码学习 08:register 注册配置类