1. 开篇序
各位支持我的朋友大家好啊,博客停了两个月处理了一些私人事务。从今天开始本人恢复技术博客更新。欢迎大家继续关注
1.1 写作难度在哪里
Spring系列知识这个博文专题实际上很早之前就想写写,但是一直没有动笔或者说没敢动笔。究其原因主要有几个:
1、这个系列的博文专题并不好写,Spring Framework知识体系太过庞大,远远超过本人之前所写的线程专题、系统间通讯专题、负载均衡专题和系统存储专题。Spring生态从很早的2.X版本到3.X版本再到当前的4.X版本、从最初的XML配置到注解性配置,再到现在最流行的Java Style配置、从单纯的Spring Framework到Spring Boot,再到目前流行的Spring Cloud服务治理生态……我一个小小的IT屌丝哪里能全部掌握……
2、Spring系列知识允许开发人员在一定程度上找到各种不同的code style解决相同的问题,所以根本不存在一个绝对的、最优的解决办法。这种情况就很难写了,例如针对问题X,可能笔者自己的解决方法为A,但是一些读者在特定的业务场景下会采用方法B来解决相同的问题,甚至还可能提出更简洁的方法C。所以笔者所书写解决方案A,是否会给人一种误导读者的嫌疑——特别是在CSDN上读者技术水平参差不齐的情况下。
3、Spring知识体系实在是发展太快,有很多知识树分支是笔者根本没有在实际工作中涉及到的,甚至听都没有听说过的。当专题中一个章节的知识点刚刚写作完成,是否就已经产生了更简介的解决方法了呢?
那么为什么笔者最终决定还是要写这个博文专栏呢?因为有以下几个更重要的理由:
1、知识和技术需要总结:包括Spring知识体系在内的知识发展实在太快,正因为如此我们需要一种总结归纳的途径。而写作技术博客正好提供了这个好处
2、笔者写作技术博客最主要的目的之一,是分享技术知识、总结使用经验。如果能帮助到读者,那是最好;如果不能帮助到读者也无可奈何,不同技术水平的读者通过阅读文章能够获得的结果却是不能面面俱到。
3、还是想写。
1.2 本专栏写作思路和原则
基于以上的考虑,所以这个系列专题将采取以下方式处理:
1、本博客专栏所涉及的Spring Framework版本基于4.X,部分技术知识点基于3.X(而且都会提前说明)
2、本博客专栏首先介绍一些Spring的基础技术原理,例如核心设计模式、Ioc容器结构和原理、Bean对象的管理等基本没有任何二义性和技术分歧的知识;然后再结合目前业界的技术流行趋势,依次介绍Spring Boot、Spring Cloud等知识体系,特别是其中经常使用的技术分支和组件。最后再基于这些知识,带入到实际的项目场景中进行演练
3、本博客专栏用于本人自行记录整理知识内容的目的,大于主动向读者分享知识的目的。所以本人不会像写作其它专题那样,主动推送本博客专栏的任何一篇文章到CSDN首页(技术编辑主动收纳的文章除外)。
4、如果本博客专栏的文章有幸(或者不幸)被读者看到,欢迎各位读者点踩。不过站在讨论技术知识的角度,还是希望各位读者能够留下宝贵的意见。这样也可以帮助笔者完善知识结构,Get新技能。
好了,本专题开篇就到这里。下一篇文章,我们先从设计模式开始讲解Spring知识体系的核心运行原理。