首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Spring Framework 源码解读(更新中)
写代码的比利
创建于2022-08-19
订阅专栏
此专栏收录我在学习 Spring Framework 源码时候的笔记和分享。(欢迎点点关注、点点赞、点点收藏,让我不好意思不更新。)
等 239 人订阅
共78篇文章
创建于2022-08-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Spring 源码阅读 38:postProcessBeanFactory 对 @Configuration 配置的解析和处理(1)
本文分析了 Spring 在后处理器中,对配置类进行增强处理的前半部分流程,也就是如何从容器中找到需要进行增强处理的配置类的 BeanDefinition。
Spring 源码阅读 37:postProcessBeanDefinitionRegistry 对 @Configuration 配置的解析和处理(2)
本文分析了解析配置类的主要逻辑部分,Spring 会递归处理已经筛选过的配置类以及其中包含的`@Bean`注解标记的方法和配置信息。
Spring 源码阅读 36:postProcessBeanDefinitionRegistry 对 @Configuration 配置的解析和处理(1)
本文介绍了处理配置类的过程的第一部分,即从所有的 BeanDefinition 中筛选出符合候选条件的配置类对应的 BeanDefinition,以及对这些配置类信息进行解析和处理前的准备工作。
Spring 源码阅读 35:Spring 如何解析 @Configuration 中的配置
本文梳理了配置类的配置信息,是由其对应的 BeanFactory 后处理器负责执行的,这个后处理器在上下文创建时被注册到容器中,当容器的预处理完成后会执行其中的后处理方法。
Spring 源码阅读 34:@Component 及相关注解
本文通过 Spring 框架源码,分析了 @Component 及其相关的几个注解的作用和 Spring 筛选包含这些注解的类型的方法。
Spring 源码阅读 33:基于注解初始化 Spring 上下文的原理(3)
本文分析了 Spring 组件扫描的最后一部分内容,也就是 BeanDefinition 的后处理和注册。
Spring 源码阅读 32:基于注解初始化 Spring 上下文的原理(2)
本文介绍了 Spring 基于注解初始化上下文的关键步骤doScan方法的原理的第一部分,即从给定的包路径中查找符合条件的类并封装成对应的 BeanDefinition。
Spring 源码阅读 31:基于注解初始化 Spring 上下文的原理(1)
本文分析了基于注解初始化 Spring 上下文的部分原理,包括与基于 XML 初始化上下文的对比,在进行组件的扫描之前,Spring 会向容器中注册一些注解相关的后处理器,并添加了默认的注解类型过滤器
Spring 源码阅读 30:getBean 方法获取 Bean 实例的过程总结
本文总结了 Spring 容器 getBean 方法获取单例 Bean 实例的原理。更细节的分析,可以看我之前的文章。
Spring 源码阅读 29:基于 XML 配置初始化 Spring 上下文过程总结(10+详细流程图)
一篇文章总结 Spring 基于 XML 配置文件初始化上下文的过程,包含十余张详细流程图,欢迎点赞收藏转发!
Spring 源码阅读 28:初始化 Bean 的收尾阶段
本文通过阅读源码的方式,分析了 Spring 初始化 Bean 实例过程最后的收尾阶段,至此通过 10 篇文章,从 getBean 方法开始,分析了创建和实例化 Bean 的全过程。
Spring 源码阅读 27:Bean 实例初始化
本文通过阅读源码分析了 Spring 初始化 Bean 实例过程中执行 Bean 初始化方法的过程。
Spring 源码阅读 26:Bean 早期实例处理及属性注入
本文分析了从 Spring 创建完早期 Bean 实例,到完成属性注入的过程。其中包括了将早期实例添加到三级缓存和属性自动装配的过程。
Spring 源码阅读 25:单例 Bean 实例的创建过程(2)
通过本文的分析,终于走到了 Spring 最终把 Bean 实例创建出来的,这个实例会被一个 BeanWrapper 类型的对象包装,并返回到`doCreateBean`方法中。
Spring 源码阅读 24:单例 Bean 实例的创建过程(1)
本文分析了 Spring 创建单例 Bean 实例的过程,通过这部分分析,可以了解到 Spring 在创建实例之前还会执行那些工作。
Spring 源码阅读 23:创建 Bean 实例前的准备工作
本文介绍了通过 Spring 容器的 getBean 方法获取 Bean 实例时,当 Spring 的容器缓存中找不到我们想要的 Bean 实例的时候,Spring 怎样把这个实例创建出来。
Spring 源码阅读 22:使用 FactoryBean 创建 Bean 实例对象
本文介绍了 Spring 实例化 Bean 的过程中,一个重要的方法 getObjectForBeanInstance 的作用和具体原理。
Spring 源码阅读 21:循环依赖和三级缓存
本文分析了 Spring 容器从缓存中获取单例 Bean 的原理,主要涉及到了 Spring 为解决循环依赖问题,而设计的三级缓存机制。
Spring 源码阅读 20:获取 Bean 的规范名称
上一篇粗略分析了 AbstractBeanFactory 中`doGetBean`方法的整体流程,这篇开始深入分析每个环节的源码和原理。
Spring 源码阅读 19:如何 get 到一个 Bean?
在 Spring 框架的核心中,Bean 的创建、初始化和获取的过程非常值得研究,这篇开始以 BeanFactory 接口中的`getBean`方法为切入点,开启这部分的源码阅读和原理分析。
下一页