想必不少资深Java开发的码友都对Spring各个版本引入了哪些新特性都有所了解,本篇文章主要讲述Spring 版本与Java 版本之间的关系,问题的关键就是在我们任何一个软件实施中,我们会用到具体一个版本,所以你要搞清楚这个版本对Java支持的情况,尤其是对Java EE 支持情况,对Spring 的拓展以及深度的实践
从Spring1. 到Spring5.x ,这里做下简单说为神马是1.x ,其实Spring的版本分为三个部分
第一部分就是主版本,就是我们看到的1~5
第二部分就是从版本,比如:1.0,1.1包括2.0,2.5这样的版本,主要针对主版本多一些简单的更新
第三部分就是次要版本,比如:1.0.1 主要是一个Bug Fix 或者是部分上面的提升
从上面可以看出Java 版本分为 Java标准版本和Java 企业版本;从Java5做了分水岭,Java5之前标准版本叫J2SE就是Java 2后面Standrad E这个版本,
另外一个就是Java企业版本,从Java EE 之前叫 J2EE,包括1.0到1.4的版本
Spring 1.x
Spring Framework 1.x 版本,支持Java 1.3 ,那么为什么会到Java1.3。其实非常有道理,因为Spring Framework 早起版本叫 interface21,当时这个版本依赖于java1.3,1.3引入一个重要概念是是什么-动态代理
从Java1.3开始就会针对接口的方式进行动态处理,这里实现AOP的一个重要环节,因此Spring的第一个版本就必须依赖于Java1.3,AOP也就是Spring Framework 的一个重要部分,于此同时它支持的Java EE版本也是1.3,这个版本的一个简单特性就是Servlet的API就是Java版本的是1.3,Servlet是2.3这个版本,2.3这个版本支持Servlet事件,那么因此它可以和我们的Spring里面的事件进行一个呼应,当然Servlet事件和Java事件都是Java标准事件的实现
Spring 2.x
其实这个版本在一些老的项目里面比较容易常见,比如Spring Framework2.5.6这个版本,还包括Spring Framework 2.5.6 ESC这样的版本,那就是Security的缩写,那就是针对安全部分做重新上面的设计和一些提升,它依赖Java的标准版本是Java1.4.2,这个版本支持包括我们常说的NIO的支持此时,J2EE版本并没有做太多的更新还是支持到J2EE 1.3版本
Spring 3.x
Spring 3.x 是一个重大版本,那么Spring从3这个版本开始引入了大量的注解,所以它所需要支持的Java5这个版本,在Java5里面会提升到一些注解,包括注解&枚举这些,所以在Spring3里面会引入大量的注解&枚举,所以这个时候对Java 版本的最低要求就是java5,对应J2EE 1.4版本和J2EE1.5版本
Spring 3.x 为什么是一个重要版本,因为Spring3.x 基本确定了Spring Framework的内核,这个内核比较多,包括注解驱动,事件驱动包括一些AOP的支持,它在这个版本做的都比较完善
Spring 4.x
Spring 4.x 这个版本主要是对Spring3.x版本增加了一些新的东西,主要是一些细节上的东西,包括注解上面的提升,对Java支持只需要Java6版本以上就行,这就是为了照顾到更多的人去使用Spring Framework 4这个版本,那么于此同时从Spring Framework 4 开始也是对Sping Boot 1.x 的支持
也就是说Spring Boot 1.x 版本也是基础Spring 4进行开发的,Spring Boot 2是基础Spring 5来开发的
Spring 4.x
Spring Boot 2是基础Spring 5来开发的,从Spring 4开始 Spring 就慢慢摆脱J2EE 的局限性形成自己的体系包括后面延伸出来的Spring Boot & Spring Cloud
总结
本篇主要讨论Java版本知识情况,这个版本其实就是一些简单的映射关系,但这个映射关系可以决定你在升级的过程中有些注意事项 比如:Spring Framewok 5 这个版本必须要依赖Java 8,因为你就要升级你的JDK,因为里面设计到一些Lambda语法
欢迎关注公众号:码农架构 专注于系统架构、高可用、高性能、高并发类技术分享。
领取专属 10元无门槛券
私享最新 技术干货