5分钟教你学会spring的精髓,你值得拥有。

原标题:5分钟教你学会spring的精髓,你值得拥有。

昨晚直播即将结束的时候,有同学问了LZ一个问题,“spring框架到底怎么学习,我怎么感觉学起来一头雾水呢。”

所以今天LZ就起了个一看就是标题党的标题,测试下你是不是一个相信5分钟就可以学会spring的人。

如果你点进来,证明你中招了。

很显然,5分钟是不可能学会spring的。

那么到底怎样才能学会呢,本文看完你或许会有很大的收获。

spring包含什么

先来简单说说spring包含什么,因为spring这个叫法太笼统了。

其实上大部分人口中的spring,是指的最早的spring-framework,里面包含了下面这些module。

展开全文

可以看到,里面包含了IOC、AOP、springMVC等基础框架,是spring最早的形态。

后来spring出了个重量级的框架spring-boot,里面其实主要就是一个核心的module, spring-boot-autoconfigure以及一大堆的starters。

这个项目后来star数超过了spring,因为它解决了spring以前最大的问题,集成太复杂,依赖太多,容易出错,组件版本各种不兼容。

事实上,spring-boot主要就做了两件事情,一件是给你写好了pom依赖,一件是采用类似SPI的方式,让组件可以自动装载。

如果你不知道这个是什么东西,去看看spring-boot-autoconfigure里面的spring.factories文件,你会发现很多秘密。

后来spring还出了个spring-cloud,专门针对微服务的,但这个相对而言就不如前两者重要了,而且从成熟度上来说,不如前两者有学习的价值,因此此处不多表。

如何学习spring

好了,简单了解完spring是个什么玩意儿,可以来聊一聊该如何学习它了。

其实这个问题,有无数读者问过LZ,很多人相信都面临过相同的问题。

spring的代码这么多,该从哪里开始看呢?

看了一堆源码,感觉看完就完了,还是一脸懵逼啊?

这两个问题,LZ相信99%的spring使用者都遇到过,剩下的那1%,应该是还没来得及遇到就转行了。

其实很多人, 把spring这个项目过度神化了,尽管它确实很神。

它的神奇,主要在优雅的代码,良好的扩展性设计,这两点上来说,spring确实是做到了顶尖的水平。

但,你永远不要忘了, 它的本质,其实就是一个项目。

既然是一个项目,学习的方式都是一样的,因此LZ昨晚在直播间问了一个问题,“你到了一家新公司,面对一个海量代码的公司项目,你是怎么学习的?”

随后直播间里冒出了个各种关键字,比如“看文档”、“边接需求边学习”、“慢慢撸代码”。

其实这些整理一下,就是先看文档,再一边接需求改BUG处理工单,然后逐渐看源码,随着时间的推移,比如半年、一年,你就对你的项目比较了解了。

事实上,spring它本质也是个项目,也是一样的学习方式,不要觉得它很高端,好像需要有什么牛逼的,甚至是反人类的学习方式才可以学会。

这是一个十分错误的想法!

这等于是你还没开始学,你就给自己上了个无形的枷锁,“它好牛逼,解决方案我学不会。”

还未开始,你就输了,你能学会才是个怪事。

人不要自大,但也不要妄自菲薄,你信不信,让spring的大神们,去学习你现在维护的垃圾项目,这些大神们也会懵逼。

是因为你的项目太牛逼吗?

非也!

原因很简单,一个几十万行,甚至上完百万行代码的项目,你特么让谁上来一看,他也特么懵逼啊。

想要学习好spring,步骤无非也是,先看文档,了解整个项目的整体设计(就像你到新公司里看产品和技术文档,了解你们产品和项目的整体设计),找到程序入口先了解个大概(比如公司项目入口一般就是几个核心API,spring的入口其实就是IOC的初始化,以及刚才LZ提到过的spring.factories文件),然后遇到问题就慢慢撸源码解决问题(相信你在公司里遇到BUG或者需求要处理,也是去翻相关的源码把),随着时间的推移,你就会对它越来越熟悉。

这是一个自然而然,日积月累的过程,所以,学习spring,没有想象的那么复杂。

它最难的地方在于,坚持!

而坚持的前提,就是保持良好的心态,不要老想着一口吃个胖子,比如很多人总觉得看上一两本书,看看什么跟我学习spring系列,又亦或是看看spring教学视频直播,你就学会了?

那要这么说,你去新公司,你的leader给你讲一遍你们的项目,你就对你们的项目了解了?

你想啥呢?有点脑子好不好?

事实情况是,给你讲了一遍,遇到问题你特么不还是得乖乖去撸源码才知道。

所以,上述的这些,都只能成为辅助手段,最多能提高点效率,但本质,还是需要你去撸源码才行。

很多人就是因为采取了错误的学习方式,学完以后发现没啥太大的收获,遇到问题还是不知道怎么解决,就以为自己学不会,心态就炸了,然后就彻底放弃了。

这个世界很公平,你想要学会,就得付出代价,当然,这里所谓的学会,不是会用而已,而是遇到任何问题,你都可以通过看源码解决掉它,成为公司里公认的spring大神。

结语

文章到此,LZ想说的基本都说完了,能不能给你点启发和收获,就看你自己了。

结束多说一句,因为spring当中涉及到了很多设计模式的思想,因此最好拥有设计模式的基础再去看源码,否则确实会比较吃力,设计模式可以说是看懂spring源码的基本功。

如何学习设计模式?

百度“左潇龙 设计模式”你就知道,哈哈。

最后,不要忘了转发本文,让那些同样和你相信5分钟能学会spring精髓的人醒一醒。

最最后,送上个彩蛋~


Powered by 竞彩足球玩法-竞彩足球推荐 @2018 RSS地图 html地图