美文网首页
0.当我们学习Spring的时候,我们在谈论什么

0.当我们学习Spring的时候,我们在谈论什么

作者: 凭窗听风 | 来源:发表于2019-05-30 23:57 被阅读0次

    前后将近一个月的时间,我终于将《Spring源码深度解析》这本书看完了,连带着查阅了许多资料和别人的blog。核心知识点整理成了自己的blog,更多的代码只是浏览,大致理清逻辑。只能堪堪说理解Spring的原理,对一些开发过程中的个性化需求有了更好的解决方案。这个时候回头看一下第一节写下的前言,为什么要学习Spring?

    如果追求理解每一行代码,真的是一件非常耗时的事情,Spring作为一个全球都在用的框架,其中有着非常多需要考虑的问题和细节实现,我们需要的是关注核心流程的实现,了解它的工作原理,学习它的代码风格,关心它的设计理念。毕竟我们的目的是个人成长而不是维护Spring。

    其实很多大牛并不主张花费过多的时间研究框架源码,这些大牛多半是名校科班出身,在计科领域有着非常高的建树,甚至本人就是框架作者。他们可能更多的时间和经历花在算法实现、效率优化等方面。

    但我站在一个普通的Java开发工程师的角度,我认为研读一个框架源码是非常有必要的。

    首先,作为一名工程师,我们的工作是利用既有的定理、法则或工具,解决一些技术问题,实现工程上的应用。Spring作为一个最流行的Javaweb解决方案之一(甚至没有之一),就像图纸之于船舶建造一样(原谅我这个比喻,转行前我就是船舶工程师),没有理由不去熟悉并做到按需使用和优化。诚然,算法、数据结构、操作系统甚至数字电路才是更底层的原理,然而你每天打交道的并不是这些的底层的东西,就像船舶工程师不是每天分析流体力学一样。有些东西需要了解,有些需要理解,而有些是吃饭的家伙,需要拿来就用。
    其次,作为一个全球流行的开源框架,其代码质量已经经过了无数生产环境的考验。这些代码不管代码风格如何,其可用性和稳定性是毋庸置疑的。而实际上,Spring的代码风格和优雅程度远超我们工作中看到的代码,毕竟代码的可读性和优雅性也是高生产力的保证,颜值即正义对coding也是一样的。其中包含了大量设计模式的最佳实践,大量原生Api的工程应用和许多精妙的逻辑实现。这些应用到你自己的代码中能够让你的代码质量迅速提升。开玩笑的说,开发的工作大部分是Ctrl+c,Ctrl+v。而Spring提供了这么好的Ctrl+c的素材,我们有什么理由不去学习使用呢。
    最后,框架说到底也是基于语言本身开发出来的。不管是应用,还是出现bug后的调试,都要基于源码。与其出现问题的时候陷于逻辑细节,迷失在复杂的函数栈中,为什么不提前去了解代码结构。这样出现问题后至少能够通过调用栈迅速的定位问题。而且,不同框架很多思想是相通的。不敢说一通百通,至少当你能对一个框架大体掌握之后,当一个框架对你来说不再是一个黑盒子之后,你就会更有信心去面对其它的框架、系统。

    本篇是一节技术无关的文章,写了点我对于技术本身的一点思考和观点,也希望能给读者带来一点启示。

    相关文章

      网友评论

          本文标题:0.当我们学习Spring的时候,我们在谈论什么

          本文链接:https://www.haomeiwen.com/subject/jhkitctx.html