# 《手撸 Spring》PDF,全书260页6.5万字,完稿&发版!

作者:小傅哥
博客:https://bugstack.cn (opens new window)
原文:https://mp.weixin.qq.com/s/kYio8zIG5UL-To3SV-uRmA (opens new window)
PDF:https://download.csdn.net/download/Yao__Shun__Yu/21009038 (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

# 一、前言

💥不正经!竟然手撸Spring源码啦🌶?

是的,在写了部分关于 Spring核心源码 的面经内容后,我决定要去手撸一个Spring了。为啥这么干呢?因为所有我想写的内容,都希望它是以理科思维理解为目的方式学会,而不是靠着硬背记住。而编写面经的过程中涉及到的每一篇Spring源码内容分析,在即使去掉部分非主流逻辑后,依然会显得非常庞大。对有经验的老司机尚可阅读几遍接受,但就新人来讲只能放入收藏夹吃灰啦!

翻译抄书说理论给答案式填鸭分享知识绝对不可以!!!这样的方式只能把知识弄的云里雾里。所以我希望带着读者一点点手写简化版 Spring 框架,了解 Spring 核心原理,为后续再深入学习 Spring 打下基础。

在手写的过程中会剔除 Spring 源码中繁杂的内容,摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下文、作用域、资源处理等内容实现。

所有的内容实现都会由简开始,一步步带着大家实现,最终所有的内容完成后,在提供一个相对完整的 small-spring (opens new window),在这个过程中只要你能跟着走下来,那么最后你一定可以较容易的阅读 Spring 源码了

💋鉴于作者水平有限,如果书中含有不易理解的内容,一定是作者在编写的过程中缺少必要的描述和严格的校准,感谢把你的意见或者疑问提交给我,也欢迎与我多一些交互,互相进步共同成长。

# 二、简介

Hello, world of spring ! 你好,spring的世界!

欢迎来到这里,很高兴你能拿到这本书。如果你能坚持看完书中每章节的内容,那么不仅可以在你的面试求职上有所帮助,也更能让你对 Spring 核心技术有更加深入的学习。

本仓库以 Spring 源码学习为目的,通过手写简化版 Spring 框架,了解 Spring 核心原理。

在手写的过程中会简化 Spring 源码,摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下文、作用域、资源处理等内容实现。

小傅哥 (opens new window),之所以开始撸Spring源码,主要就是因为在编写《面经手册》时,涉及到的Spring源码都会写很多的文字描述、绘制冗长的流程图稿、做不少的内容铺垫,但对于新人来说想直接学习这部分内容仍是非常困难的,那么现在为了让我以及更多的伙伴能有一个学习的抓手,我们来一起研究研究什么是快乐星球!


  1. 此专栏为实战编码类资料,在学习的过程中需要结合文中每个章节里,要解决的目标,进行的思路设计,带入到编码实操过程。在学习编码的同时也最好理解关于这部分内容为什么这样的实现,它用到了哪样的设计模式,采用了什么手段做了什么样的职责分离。只有通过这样的学习才能更好的理解和掌握 Spring 源码的实现过程,也能帮助你在以后的深入学习和实践应用的过程中打下一个扎实的基础。

  2. 另外此专栏内容的学习上结合了设计模式 (opens new window),下对应了SpringBoot 中间件设计和开发 (opens new window),所以读者在学习的过程中如果遇到不理解的设计模式可以翻阅相应的资料,在学习完 Spring 后还可以结合中间件的内容进行练习。

  3. 源码:此专栏涉及到的源码已经全部整合到当前工程下,可以与章节中对应的案例源码一一匹配上。大家拿到整套工程可以直接运行,也可以把每个章节对应的源码工程单独打开运行。

  4. 如果你在学习的过程中遇到什么问题,包括:不能运行、优化意见、文字错误等任何问题都可以提交issue,也可以联系作者:小傅哥 的微信,fustack

  5. 在专栏的内容编写中,每一个章节都提供了清晰的设计图稿和对应的类图,所以学习过程中一定不要只是在乎代码是怎么编写的,更重要的是理解这些设计的内容是如何来的。

# 1. 适合人群

  1. 具备一定编程基础,工作1-3年的研发人员
  2. 想阅读Spring源码,但不知道从哪开始
  3. 对Spring容器中Bean对象的注册管理等生命周期有些模糊
  4. 需要依赖于Spring开发一些中间件,但不知道用哪些接口
  5. 想看看设计模式在Spring框架下的应用
  6. 希望彻底的了解Spring框架,并能在面试过程中占据上风

# 2. 我能学到什么

  1. 看得懂,Bean容器是如何定义和实现的
  2. 学得会,工厂模式、策略模式、观察者模式等都是怎么在Spring中体现的
  3. 搞得清,从应用上下文到Bean对象的创建,是串联出一整套生命周期
  4. 弄得明,IOC、AOP、代理、切面、循环依赖都是如何设计和实现的

# 3. 阅读建议

此专栏是一本以开发简化版Spring学习其原理和内核的知识内容,不仅是代码编写实现也更注重内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,并调试对应的代码。粉丝伙伴在阅读的过程中,千万不要害怕在学习的过程中遇到问题,这些都是正常的! 希望你可以一直坚持把这些内容事必躬亲、亲历亲为的学完,加油!

# 三、目录

上车,带着你把Bean的生命周期搞完!

# 容器篇: IOC

  • 第01章:开篇介绍
  • 第02章:创建简单的Bean容器
  • 第03章:实现Bean的定义、注册、获取
  • 第04章:对象实例化策略
  • 第05章:注入属性和依赖对象
  • 第06章:资源加载器解析文件注册对象
  • 第07章:应用上下文
  • 第08章:初始化和销毁方法
  • 第09章:Aware感知容器对象
  • 第10章:对象作用域和FactoryBean
  • 第11章:容器事件和事件监听器

# 代理篇: AOP

  • 第12章:基于JDK、CGlib实现AOP切面
  • 第13章:把AOP扩展到Bean的生命周期
  • 第14章:自动扫描Bean对象注册
  • 第15章:通过注解注入属性信息
  • 【PDF专属】第16章:给代理对象设置属性注入

# 高级篇:Design

  • 【PDF专属】第17章:三级缓存处理循环依赖
  • 【PDF专属】第18章:数据类型转换

# 四、PDF📚下载

版权说明6.5万字260页作者:小傅哥的原创PDF书籍《手撸 Spring》,已上架 CSDN 付费下载平台,享受版权保护,感谢支持和理解。

让人怪不好意思的,没接过广告的号主,只能这样收回点运营博客的服务器成本。更重要的是保护了版权!!!

# 1. 可获得内容包括

  1. 《手撸 Spring》PDF 完整版书籍一本
  2. 完整版源码一份,共 17 个案例
  3. 可以加入手撸 Spring专栏讨论群,添加我的微信:fustack,备注:Spring入群

# 2. 下载方式

  1. 通过连接下载:https://download.csdn.net/download/Yao__Shun__Yu/21009038 (opens new window)
  2. 关注公众号:bugstack虫洞栈 (opens new window),回复:Spring专栏,即可获得最新的下载链接。更新和补充会更换链接
  3. 添加小傅哥微信(fustack)获取连接,备注:Spring PDF获取

# 五、🎉收尾

19.8、20.8、21.8,满满的都算上,小傅哥已经在这条路上摸索了两年多了,从没有粉丝基础没有写作经验没有技术文章沉淀、当然也没有运营技巧,一步步走来遇到了很多粉丝伙伴的支持、号主朋友的关心、平台运营的帮助,慢慢的长成了一颗倔强的技术小树!

两年多来,写了8个专题,22个类别,255篇+文章!并于 2021年04月23日,图书节,我的第一本技术书《重学Java设计模式》 (opens new window)出版了。不久以后我感受过图书冲榜到销量榜第一、在图书馆看到我的技术书、被国外的粉丝伙伴购买带出国门,还看到有个女孩买来作为礼物送给他的男友。也于不久后看到百度百科还有我书籍的信息,还真是蛮开心的,但不膨胀

也祝大家,能在自己的路上坚持的走下去,长久的沉淀势必会收获到你想要的哪些旅途上的果实。悄悄的,心怀天下,声色犬“码”。生有热烈,藏于俗常!