说到Spring全家桶,我认为我们应该从JavaEE的发展历程说起。

从1999年起,J2EE开始大行其道,那时候,很多大型公司都开始采用J2EE进行企业级的开发部署。

2005年,做者刚刚大学毕业,因为学的软件工程,自然就进入了软件行业,第一个项目是在一家外企为知名汽车行业做ERP的售后服务系统,这个系统当时就用的J2EE的EJB来做的,公司专门用J2EE做了一套架构,将一些常用的数据库链接等等语句做成通用的,来为多个项目进行服务。曾经使用过EJB开发企业级应用的人都知道,那时候开发一套系统是非常耗时耗力的一件事,使用它,开发效率低,而学习成本却很高,当时我参与的系统第一个版本的release就耗时好多年,那时候为了能使项目很好的进行下去,我们会写大量的文档,需求、概要设计、详细设计、单体测试设计、结合测试设计等等,目的就是为了让后来的人能尽快了解项目,让变更及新增时能够知道原本的功能是如何设计的,因为系统太过庞大,历时太过长久,没有文档,很难去了解各部分的业务逻辑、实施方案等等,即使如此,新人入手也还是十分困难,而且系统也越来越难以实施,而这些问题也是当时所有项目都碰到的问题。

为了解决这些问题,人们开始思考,这时候Rod Jahnson的一本书,提出了Spring的思想,给人们带来一盏明灯指引方向,后来一批大佬开始研究,最后形成了Spring框架。

Spring出现的最大的一个初衷就是使JavaEE的开发更加容易。

随着互联网、及软硬件技术的发展,Spring历经了如下阶段:

- 2002年10月,Rod Jahnson发表名为【Expert One-on-One J2EE Design and Development】的书籍,第一次出现了Spring的一些核心思想

- 2004年03月,Spring 1.0版本发布,Spring框架迅速发展起来。

- 2006年10月,Spring 2.0版本发布, 其具有可扩展的 XML 配置功能,支持 Java 5,及额外的 IoC 容器扩展点,支持动态语言等,Spring得到了更加迅猛的发展,下载量超过了100万

- 2007年11月,Spring 2.5版本发布, s其支持 Java 6 / Java EE 5,支持注释配置,组件自动检测和兼容 OSGi 的 bundle。

- 2009年12月,Spring 3.0版本发布,其重组了模块系统,支持 Spring 表达式语言,支持基于Java的bean配置,支持嵌入式数据库(如 HSQL,H2 和 Derby),模型验证/ REST 支持和对 Java EE 的支持。

- 2013年12月,Spring 4.0发布,其支持Java 8,第三方库依赖性(如:groovy 1.8+,ehcache 2.1+,hibernate 3.6+等),支持JavaEE7,groovy DSL for bean,websockets以及泛型类型等。

- 2014年03月,Spring Boot1.0发布,Spring Boot使用自动配置及starter大大加快了JavaEE的开发。
......

2017年09月,Spring 5.0发布, 其支持JDK 8和Java EE 7,同时兼容JDK9。全面支持Servlet 3.1,还引入了一个全新的模块Spring WebFlux,对Kotlin也有了更好的支持。

如今Spring已经发展到5.2.5的版本,Spring Boot的最新的版本为2.2.6。

现在我们来看看最新的Spring能做什么呢?

官网中给出了很好的解释:它适用于微服务、支持Reactive、云服务、网络应用、无服务器、时间驱动及Batch批量处理。

【Spring全家桶系列】概述---Spring 全家桶概述_spring boot

当前Spring都包含了哪些部分呢?

主要包含Spring Boot、Spring Framework、Spring Data、Spring Cloud、Spring Cloud Data Flow、Spring Security、Spring Batch等众多项目。在spring的官网中对其有详细的介绍。

我们的全家桶的课程将会对里面最流行的几种:Spring Framework、Spring MVC、Spring Boot、Spring Cloud及Spring Data进行详细描述,并且全部采用案例的方式,使得大家能够很快入门。