手写Spring迷你版|手撸Spring系列博客目录

【手写Spring迷你版|手撸Spring系列博客目录】说在前头: 笔者本人为大三在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,发布的文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正。若在阅读时有任何的问题,也可通过评论提出,本人将根据自身能力对问题进行一定的解答。

手撸Spring系列是笔者本人首次尝试的、较为规范的系列博客,将会围绕Spring框架分为 IOC/DI 思想Spring MVCAOP 思想Spring JDBC 四个模块,并且每个模块都会分为 理论篇源码篇实战篇 三个篇章进行讲解(大约12篇文章左右的篇幅)。从原理出发,深入浅出,一步步接触Spring源码并手把手带领大家一起写一个 迷你版的Spring框架 ,促进大家进一步了解Spring的本质!

由于源码篇涉及到源码的阅读,可能有小伙伴没有成功构建好Spring源码的阅读环境,笔者强烈建议:想要真正了解Spring,一定要构建好源码的阅读环境再进行研究,具体构建过程可查看笔者此前的博客:《如何构建Spring5源码阅读环境》

实战篇源码仓库地址: https://gitee.com/bosen-once/mini-spring
  • 《手撸Spring系列0:系统架构介绍(开篇)》:作为 手撸Spring系列 的开篇,笔者将会在此章节对Spring的系统架构做一个简单的解析,以方便大家能够对Spring有一个整体的理解。
  • 《手撸Spring系列1:IOC/DI 思想(理论篇)》:作为手撸Spring系列的第一篇理论博客,笔者将会从Spring的核心思想IOC开始讲解。为了读者能够更好的理解文章中的内容,在上车前,笔者建议读者们能够拥有以下车票,以防走丢:有Spring使用经验(刚需)、有SpringBoot使用经验(建议),使用Spring写过个人项目(建议),使用过MyBatis(建议)。
  • 《手撸Spring系列2:IOC/DI 思想(源码篇-IOC)》:今天的博客将带领大家一起来目睹一番Spring5的源码,透过源码去发掘Spring是如何具体去实现IOC思想的。由于Spring IOC DI 两个源码讲解写一起篇幅会比较长,因此笔者将IOC和DI分成了两篇博客进行讲解。
  • 《手撸Spring系列3:IOC/DI 思想(源码篇-DI)》:在开始阅读源码之前,笔者希望读者朋友们先提前了解这个几个对象:BeanFactory、BeanDefinition、BeanWrapper、Bean,理解他们之间的关系后再阅读,会有助于理解Spring DI的源码。
  • 《手撸Spring系列4:IOC/DI 思想(实战篇)》:实战篇的代码的重心会放在IOC/DI、MVC、AOP等思想的具体实现上,实现迷你版的Spring(除注解外,每个类对应的包与Spring源码保持一致),对于其扩展性不会做特别的考虑!!
  • 《手撸Spring系列5:Spring MVC(理论篇)》:手撸Spring系列经过前面四篇的讲解,IOC/DI已经是告一段落了。接下来笔者将继续向各位读者朋友们讲述Spring另一大模块Spring MVC!!
  • 《手撸Spring系列6:Spring MVC(源码篇)》:在上一个篇博客:手撸Spring系列5:Spring MVC(理论篇)中,我们讲述了Spring MVC 的处理流程,从流程中我们发现 前端控制器DispatcherServlet 在Spring MVC 中有着举足轻重的地位,并且用户的请求也是通过其进行接收的,是整个Spring MVC 模块的入口。那么接下来我们将从DispatcherServlet入手,开始对Spring MVC 源码的探究。
  • 《手撸Spring系列7:Spring MVC(实战篇)》:经过前面Spring MVC 理论篇和源码篇的讲解,我们终于又再次迎来了实战篇。( 注意:Spring MVC 实战篇代码的运行建立在Spring IOC 实战篇中的代码基础之上!!,在阅读此篇博客之前,建议先将前面章节的博客浏览一遍~!! )
  • 《手撸Spring系列8:Spring AOP(理论篇)》:由于AOP的理论和概念理解起来会比较困难(当然,你是大佬除外),笔者刚接触时也在了AOP的理论知识中困了许久。但如果试着去完成了一个Spring AOP的小Demo后,一般思路就会豁然开朗。因此,在此次的理论篇中,除了讲解Spring AOP的理论知识外,还会附带一个小的实操案例~~!!
  • 《手撸Spring系列9:Spring AOP(源码篇)》:以注解方式启动的AOP来举例,入口无疑就和注解@EnableAspectJAutoProxy存在着巨大的联系
  • 《手撸Spring系列10:Spring AOP(实战篇)》:经过前面AOP的理论篇和源码篇,我们又再次进入到了实战篇,此次的实战篇也是建立在之前IOC/DI实战篇的代码基础之上的,因此在进入到AOP实战篇之前,请确保自己已经成功实现了IOC和DI功能~!!
  • 《手撸Spring系列11:MyBatis(理论篇)》:经过前面IOC/DI、MVC、AOPspring的三个重要模块的理论讲解和实操后,我们来到了手撸Spring系列博客的最后一个模块ORM框架模块,Spring JDBC使得spring能够兼容多种ORM框架,如:mybatis、hibernate等,在此篇章中,笔者将讲解从理论、源码和实战来手写一个迷你版的mybatis,并将该框架与我们前面章节所写的迷你版spring进行整合,使得我们的迷你版spring功能更加的完善~!
  • 《手撸Spring系列12:MyBatis(源码篇)》:在上一篇理论篇手撸Spring系列11:MyBatis(理论篇)中,我们了解到了,MyBatis的配置文件是由SqlSessionFactoryBuilder开始读取的,那么我们就从这个类开始,展开我们对MyBatis源码的研究。
  • 《手撸Spring系列13:MyBatis(实战篇)》:经过前面IOC、DIC、AOP、MVC、等篇章的书写,现在迎来了《手撸Spring系列》博客的最后一篇文章,MyBatis实战篇
补充:
  • Spring AOP 切点匹配规则
  • 如何构建Spring5源码阅读环境

    推荐阅读