·

Spring Ioc源码分析系列--前言

Spring Ioc源码分析系列--前言

为什么要写这个系列文章

首先这是我个人很久之前的一个计划,拖了很久没有实施,现在算是填坑了。其次,作为一个Java开发者,Spring是绕不开的课题。在Spring之中Ioc是一把利器,这是依赖控制反转的关键实现。所以理解Ioc的概念对于初步窥探Spring的实现是非常好的入口,那接下来的文章我们就来分析Ioc的设计思想和具体实现,这篇文章主要是作为一个前言入口用于介绍脉络,不涉及太多的原理分析。

怎么学习Spring

Spring庞大而复杂的结构对于刚入门的人来说是非常复杂的,断点调试跟着跟着可能就会迷路翻车,更别说梳理好各个模块之间的关系以及理解其设计思想了。

那么对于初入江湖的我们来说,怎么样才能比较高效地理清Spring的模块关系以及其设计思想呢?网上各种资料很多,但是鱼龙混杂,水平参差不齐,所以最好的就是根据官网的文档去学习。所以我后续的文章也会跟着官网文档的顺序去分析,会引用相应的片段互相补充。

《孙子兵法·谋攻篇》 有言: 知彼知己,百战不殆。意思是对敌人的情况和自己的情况都有透彻的了解,作战就不会失败 。

所以我们首先要清晰这系列的文章会分析Spring的哪些模块,Ioc部分对应下图的Core Container部分,如果再细分,对应的是里面的Beans和Core模块,Context模块是依赖于Beans和Core构建的上下文模块,是直接提供对外使用的,如果是严格意义上实现了Ioc的模块就是Beans和Core模块,那么这系列的文章就是分析Beans模块和Core模块。

1651139548487

系列文章脉络

既然知道了要分析的是哪些模块,那这里介绍一下后面系列文章准备行文的脉络。大概计划本系列文章大概脉络如下:

  • 介绍Ioc容器是什么,代码如何启用一个容器,BeanFactory和ApplicationContext的区别
  • Bean是什么,Bean的初始化以及依赖注入
  • 基于注解的容器实现
  • ....

大概的思路如下,写的过程会做调整。

学习资料

Spring书籍

Spring文档

小结

本文没有分析也没有解析,简单开了个头。万事开头难,后续就开始填坑。

如果有人看到这里,那在这里老话重提。与君共勉,路漫漫其修远兮,吾将上下而求索。

posted @ 2022-04-28 18:25  Codegitz  阅读(185)  评论(1编辑  收藏  举报