Spring源码学习系列-----学习缘由

       知识经济时代,知识、技术、工具的更迭速度愈发的快,而对于IT行业来说,软件开发领域所运用的技术更迭速度更是快得令人瞠目结舌。在这样一个快速更迭的环境中,企业及个人如何保持自己的核心竞争力而不被时代所淘汰,是值得每一个自然人和法人深思的问题。就我自己近一年半研发经验而言,不断学习是保持程序员核心竞争力最为重要的因素。可是在这个知识爆炸的时代,除了站在金字塔顶端的极少数科研人员,我等常人是不可能驱动时代潮流走向的。我们唯一能做的就是紧跟时代潮流,以积极的态度拥抱变化和创新,不断地告诫自己让自己走出舒适区成长起来。这里就可能会有一个认知误区,很多人觉得紧跟时代潮流就是什么最热我就学习什么,表面上看这种认知没毛病,可结合实际情况一分析,这种认知或是行为可谓丝毫经不起推敲。就拿java企业级开发(javaee)使用的主流技术来说,在spring问世之前,企业钟爱ejb,当spring framework被祭出时,ejb立马被一干企业抛弃掉,自ejb被抛弃之时spring framework统治了javaweb开发领域直至今日。可就在两三年前,springboot横空出世,当国内很多企业还热衷于spring framework时,springboot早已风靡于国外大大小小的企业。通过比较两个项目在github上的star数,就可窥见springboot在javaee领域中的受欢迎程度已然超过了传统的spring framework,而基于springboot的为微服务框架springcloud更是获得越来越多的企业对于分布式开发需求的青睐。从时间维度来看,在javaee领域,从ejb到spring framework再到springboot、springcloud,两种技术之间的时间间隔越来短,更迭速度越来越快,我不不知道下一个风靡业界的技术或框架叫什么,但我知道它迟早会到来,或许有的人还沉浸于spring framework未开发带来的各种便利时,又一个超越springboot的新框架已然诞生并开始席卷业界。

       既然javaee领域的技术框架更迭如此之快,难道我们真的“紧跟潮流”?什么技术流行我们就学习什么?我看未必。我觉得人的经历是有限的,而知识和技术又是没有边际的,所以无论如何在人的有效学习周期内也不可能将知识一网打尽。因此,我们必须将宝贵的学习时间花费在最值得的经典上面。OK,那什么是经典呢?我在这里谈谈自己对于经典的理解,所谓经典,就是那些不会随着时代的进步而被淘汰的事物。就好比数理界那些被证明的定理、文学界大家们的经典著作一样,无论时代如何变迁,这些经典不仅不会被淘汰、发生贬值,甚至会受到越来越多人的追捧和升值。在计算机领域,计算机网络、计算机操作系统、数据结构与算法、计算机组成原理等,作为经典这些课程是每一个程序员不可缺省的知识。就拿当今最为流行的人工智能、区块链、物联网来说,没有深厚的计算机基础知识(经典)作为支撑,很难在这些热门领域内获得较好的发展,这些热门领域不仅需要从业人员拥有深厚的算法功底,更需要从业人员对于数据结构有深刻的见解。所以劝诫那些想要一蹴而就的同行们,把心沉下来,踏踏实实地学完经典,再选择一个感兴趣的热门行业才是真正的捷径。

        从17年开始我的java后端研发生涯开始,就一直使用spring相关框架进行开发,无论是做简单的单机项目,还是做纷繁复杂的分布式开发,都始终绕不过spring全家桶。javaee主流开发框架的发展轨迹来看,spring framework是在ejb的基础上进行的革新,springboot是基于spring framework发展而来,而火爆的springcloud又直接依赖于springboot。稍微深入了解一下就会发现,每一个后面的框架无非就是对既有框架进行的封装、抽象,将复杂重复而重复的工作交由程序自己完成,使用者只需要把注意力放到实现自己业务逻辑即可。表面看来,这对开发人员非常友好,可是我觉得对于稍微有点追求的程序员来说,光会用框架是远远不够的,弄懂框架技术背后的架构、思想、原理才是最重要的。就我短暂的开发经验而言,我认为spring framework就是javaee开发领域中的经典,无论从(架构、思想、原理、代码风格、受欢迎程度等)哪个角度来看,其在javaee领域中的地位都是不可撼动的。

       既然已经认可了其经典地位,那接下就是如何理解、学习经典了。对于软件研发领域,我觉得阅读优秀框架的源码是程序员学习工作生涯中不可或缺的一部分。像spring framework之类的优秀的源码,不仅有着极为清晰架构层次,其优雅的代码风格,对于诸多设计模式的灵活运用,都是非常值得程序员深究的。

       说了这么多废话,最后总结一下就两点:第一、spring framework是javaee领域中不可替代的经典,值得新老程序员们深究一番;第二、阅读优秀框架的开源代码,对于程序员提升代码功底工程素养极为有益。下一节将正式进入spring framework源码的学习,敬请期待。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值