如何阅读Spring源码

如何阅读Spring源码

如果你是一名JAVA开发人员,你一定用过Spring Framework。 作为一款非常经典的开源框架,从2004年发布的1.0版本到现在的5.0版本,已经经历了14年的洗礼。可以说这是一款老框架了(当然这里的老仅仅指的是时间).

在这14年中,涌现了很多技术,大多昙花一现,但Spring经久不衰。随着技术的演进与版本的更迭,Spring框架总能不落后于技术的潮流,总能紧跟时代的步伐。

究竟是什么样的设计可以让它经久不衰?究竟它体现了一种什么样的设计哲学?

工作中一直得益于Spring带来的便利,对于Spring的使用应该很是熟练了,但对于它的设计理念与整体架构却没有一个非常清晰明了的认知。
很久之前就想过要阅读Spring的源码了,但一直是无从下手的状态。也曾尝试着debug去强行阅读, 但不了解的地方甚多。 于是反省自己java的基础,反省自己阅读的方式。
经过一段很长时间的查缺补漏, 终于可以顺利的去阅读Spring的源码了,所以在此处加以记录。

阅读Spring源码之前的准备:

  • 熟练使用Spring框架:只有当你熟练了,阅读其源码水到渠成
  • 扎实的JAVA基础:如果你不具备扎实的JAVA基础,那么请不要轻易尝试,否则只是浪费宝贵的时间。那么怎么样才算是基础扎实呢?此处暂列出一些基本精通的东西,如集合框架(数据结构的实现),多线程技术(线程池、线程安全、并发容器等),反射与注解(Spring中大量的使用到了反射),面向对象(面向对象不仅仅指的是对象抽象,还包括对象集成、多态等各种机制)以及JAVA的一些其他高级特性(如基于java接口的动态代理等)
  • 设计模式:Spring中大量的使用了各种设计模式已提高其健壮性,因此对于设计模式需要一些深刻的理解.
  • 绘制UML能力:在阅读的时候,肯定是要探究其核心对象之间的关系,而UML类图不失为一种非常直观的方式.
  • 激情与毅力:学习一件事物的时候激情是非常重要的,但毅力才是体现成败的关键.

如何开始阅读:

  • 了解其整体架构与核心概念以便建立Spring的模型
  • 从框架入口开始抽丝剥茧,理解其每一个核心概念以及作用,并将这些核心技术点融汇起来
  • 探究每一个核心的实现细节(UML图、跑单元测试用例、DEBUG,体悟)

以上,仅为我自己阅读源码的方式。

猜你喜欢

转载自blog.csdn.net/u010209217/article/details/80617286