死磕Spring之IoC篇 - 调试环境的搭建

该系列文章是本人在学习 Spring 的过程当中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合个人源码注释 Spring 源码分析 GitHub 地址 进行阅读html

Spring 版本:5.1.14.RELEASEgit

开始阅读这一系列文章以前,建议先查看《深刻了解 Spring IoC(面试题)》这一篇文章github

依赖工具面试

  • Gradle 6.4spring

  • Gitshell

  • JDK 1.8+express

  • IntelliJ IDEA 2020.1.1eclipse

笔者目前使用的是 Windows 系统,若是使用的是系统版本是 MAC OS 或者其余 IDEA 版本,可能会遇到相关问题,需自行 Google 处理ide

可参考 Spring 官方提供的 import-into-idea.md 或者 import-into-eclipse.md 进行导入项目工具

源码拉取

Spring 的 Git 仓库 Fork 项目到本身的 Git 仓库,方便咱们在阅读源码的过程当中,可添加相应的注释后提交代码,也能够直接拉取个人 Spring Framework 源码分析 GitHub 地址 阅读

因为 Spring 项目比较大,从仓库中拉取代码的时间会比较长,由于 Build 过程须要下载很是多的依赖,请耐心等待(也能够直接下载 ZIP 包,解压后执行下述命令再导入 IDEA 中)

打开 IDEA Terminal ,输入以下命令,预编译 spring-oxm 项目:

gradlew :spring-oxm:compileTestJava

在拉取项目的过程当中很大的可能会遇到各类问题,别慌,依次解决便可

spring-framework 项目下有不少子模块,核心模块:

  • spring-core:Spring 基础 API 模块,如资源管理、泛型处理
  • spring-beans:Spring Bean 相关,如依赖查找、依赖注入
  • spring-context:事件驱动、注解驱动、模块驱动等
  • spring-aop:Spring AOP 处理,如动态代理、AOP 字节码提高
  • spring-expression:Sping 表达式语言模块

这种面向模块开发方式,根据不一样的功能进行划分,根据需求引入对应的模块便可,对于开发人员比较友好

代码统计

经过 IDEA Statistic 插件,统计了spring-corespring-beansspring-context 三个模块的代码量,以下图所示:code-statistic

能够看到总的 Java 代码行数在 100580 行,Spring 的注释行有点多,加上笔者添加的相关注释以及其余空行等,因此总的行数会相对比较多,感受 Java 代码量具多,不过咱们看核心内容就行了😄


本系列文章是对 Spring IoC 进行分析,主要查看 spring-corespring-beansspring-context 三个模块。固然,这三个模块涉及到的东西也很是多,我不会对 Spring IoC 涉及到的全部内容进行分析,例如资源加载、国际化、数据绑定、类型转换等基础功能不会作过多的分析,了解便可。

本系列文章分享的内容主要围绕 Spring Bean 的生命周期和 Spring 应用上下文的生命周期展开,覆盖到 Spring IoC 大部份内容,相信这些文章会让你对 Spring 有一个更深的理解。

相关文章
相关标签/搜索