Spring各个版本引入了那些新特性

Spring版本支持与依赖

Spring Framework版本 Java 标准版 Java 企业版
1.x 1.3+ J2EE 1.3+
2.x 1.4.2+ J2EE 1.3+
3.x 5+ J2EE 1.4 和 JAVA EE 5
4.x 6+ JAVA EE 6 和 7
5.x 8+ JAVA EE 7
其实spring分布版本是分为三大部分的

第一部分主版本就是我们看到的1-5, 第二个版本是从版本也就是次要版本, 包括了比如说1.0、1.1、2.0、2.5这样的版本, 那么这个主版本版本通常不提供一些很重要的特性, 基本上是保持一个在原有的基础上面做一些更新, 还有个次要版本比如说1.0.1这么一个版本, 这个次要版本主要是一个BUG FIX或者是部分上面做的个提升

Java标准版/Java企业版

为什么这么设计? 因为Java它里面有一个变化过程, 如果看一些比较老的书就能看到这么一点, 有些地方叫J2SE, 有些地方叫Java SE, 那么这是为什么这么来的? 因为从Java 5这个版本开始做了一个分水岭, Java 5之前的Java 的标准版叫J2SE, 就是 Java 2 然后Standard E 这个版本, 另外一个就是Java企业版本, 那么同样的方式, 从JavaEE 5之前也叫J2EE, 那么就包括1.0-1.4这个版本。

特性

Spring版本1

从spring Framework的EX版本它起初支持的版本是java1.3, 那么为什么会到java1.3, 其实是非常有道理的, 因为Spring Framework早起的版本叫interface 21, 那么这个版本其实就是依赖于java1.3, 1.3引入了一个非常重要的特性动态代理, 从java1.3开始就会针对接口的方式来进行动态代理, 那么这是实现AOP的一个很重要的环节。因此spring的第一个版本就必须依赖java1.3, 与此同时他支持的JavaEE 版本是1.3,这个版本一个简单的特性就是Servlet的API对应的Java EE版本是1.3, Servlet版本是2.3这个版本, 2.3这个版本它在里面会支持Servlet事件, 因此它可以和我们Spring的事件来进行一个呼应, 当然Servlet事件和Spring事件都是Java标准事件的实现

总结: Spring Framework1.X 新特性动态代理, Servlet事件

Spring版本2

Spring Framework 2.x版本比如说2.5.6这么一个版本, 比如2.5.6点什么ESC这样版本, 那个就是Security的缩写, 那么就是说它针对安全部分做了一些设计和提升, Java 1.4.2 那么这个版本里面主要是支持了一些包括我们常见的NIO的支持, 那么这个时候Java EE 的企业版本并没有做太多的更新它还是支持到了Java EE J2EE的1.3这个版本。

总结: Spring Framework2.X 安全方面做了一些设计和提升

Spring版本3

Spring Framework3.x版本, Spring3这个版本是一个重大的版本, 它引入了大量的注解, 所以他需要支持的版本是Java 5这个版本, 因为Java5里面会提升一些注解, 包括注解枚举这样的东西, 所以在Spring3里面会引入大量的注解和枚举, 所以这个版本的要求最低的Java标准版的要求是Java 5, 那么对应的这个Java EE 的版本从J2EE 1.4 和 JAVA EE 5, 这个版本就是这么一个过度过程, 那么spring3为什么非常重要, 因为Spring3 基本上确定了Spring Framework的一个内核, 这个内核是比较多的, 包括比如说注解驱动, 事件驱动, 包括一些AOP的支持, 它都是这个版本做的比较完善

总结: Spring Framework3.X 确定了Spring Framework的一个内核, 这个内核是比较多的, 包括比如说注解驱动, 事件驱动, 包括一些AOP的支持, 它都是这个版本做的比较完善

Spring版本4/Spring版本5

4这个版本基本上在3的版本上面增加了一些新的东西, 主要的一些细节性的东西, 包括注解上面的提升, 包括利用Java 8 里面的API进行提升, 那么当然它这个4版本并不要求一定是Java 8, 它最低要求是Java 6就可以了, 这是为了照顾到更多的人去使用Spring4这个版本, 与此同时从Spring4这个版本开始, 也是对于Spring Boot 1.x的一个支持, 1.x就是Spring Boot的1版本, 也就是说Spring Boot的1版本它是基于Spring4来就行开发的, 那么Spring Boot 2 是基于Spring 5 来开发的, 所以能看到它的一个区别点, 在这个地方同时它们对Java EE 的要求一个是支持情况一个是Java EE 6 和 7, 从Spring 5 开始是对应的是Java EE 7, 其实这个是后从Spring 4 开始 Spring翅膀就非常硬了, 它对Java EE 的支持其实是一种若即若离的感觉, 所以基本上从Spring 4 开始形成了自己的体系, 尤其Spring Boot 起来之后, 包括Spring Cloud出现之后, 基本上它的完整地体系就已经生成了。

总结:

Spring Framework4.X : 主要的一些细节性的东西, 包括注解上面的提升, 包括利用Java 8 里面的API进行提升, 同时Spring Boot 1.x的一个支持

Spring Framework5.X: Spring Boot 2 是基于Spring 5 来开发的, 所以能看到它的一个区别点

Spring版本特性--->Spring各个版本引入了哪些新特性?-1相关推荐

  1. Spring版本特性:Spring各个版本引入了哪些新特性?

    Spring是Rod Johnson在2004年推出的一个轻量级框架.对Java EE 系统框架臃肿.低效.脱离现实的种种现状提出了质疑,并积极寻求探索革新之道. spring 1.x时代 在这个时代 ...

  2. PostgreSQL 14 版本发布,快来看看有哪些新特性!

    文章目录 性能增强 数据类型和 SQL 管理功能 复制和恢复 安全增强 更多特性 大家好!我是只谈技术不剪发的 Tony 老师. PostgreSQL 全球开发组于 2021-05-20 发布了 Po ...

  3. QQ兼容android版本6,QQ浏览器6.6.1版本支持安卓7.0 支持多项新特性

    眼下,距离正式版Android7.0面世为时不远,但由于禁止访问非公开的NDK接口,给第三方浏览器带来了适配上的困难.QQ浏览器最新发布的正式版本(6.6.1)率先实现对Android 7.0的兼容, ...

  4. java5新特性_5分钟了解Java 12 八大新特性

    导读:Java 12 终于发布了,我们一起来看一看 Java 12 中的新特性.通过本文可以在5分钟内快速了解 Java 12 新特性. 1 Switch 表达式 使用Java 12,switch不仅 ...

  5. java11新特性_Java11 发布前抓紧掌握这些新特性

    快速回顾 1.Lambda表达式: (参数) -> {主体} Lambda表达式打开了函数式编程爱好者继续使用Java的大门.Lambda表达式需要零个或多个参数,这些参数可以在表达式主体中访问 ...

  6. mysql+8.0+新特性_MySQL 8.0备受瞩目的新特性大放送!

    原标题:MySQL 8.0备受瞩目的新特性大放送! 作者介绍 杨奇龙,目前就职于有赞科技,负责数据库运维工作,熟悉MySQL性能优化.故障诊断.性能压测. MySQL于 2016-09-12正式发布8 ...

  7. mysql5.7 json特性_【Mysql】Mysql5.7新特性之-json存储

    一 写在前面 本系列文章基于 5.7.12 版本讲述MySQL的新特性.从安装,文件结构,SQL ,优化 ,运维层面 复制,GITD等几个方面展开介绍 5.7 的新特性和功能.同时也建议大家跟踪官方b ...

  8. python3.9新特性_Python 3.9正式版,新特性提前一睹为快

    前几天在众人期待中,Python发布了版本号为3.9.0b3的beta版,这也意味着,Python3.9正式版离我们越来越近了.新的版本带来了新的特性,预计在正式版发布后,这些特性将会被广泛使用,在这 ...

  9. python 3.8 新特性 video_1分钟了解:Python3.8 新特性:仅位置参数

    这是Python3.8新特性的第二篇,第一篇介绍了赋值表达式,这篇文章花几分钟了解什么是仅位置参数(Positional-Only Arguments) 插播一条:我自己是一名从事了多年开发的Pyth ...

最新文章

  1. Python(五)之迭代器和列表解析
  2. 【mathematical statistics】3 interval estimate
  3. C/C++extern关键字
  4. php调用C代码的方法详解和zend_parse_parameters函数详解
  5. python大神作品_掌握了这24个顶级Python库,你就是大神!
  6. 5个常用的Python功能代码
  7. 王义成:阿里云Redis服务助力游戏行业发展
  8. python 廖雪峰数据分析统计服_廖雪峰Python总结1
  9. 路由协议和路由算法的不同
  10. bigru参数计算_[数据挖掘]华中科技大学 李黎 周达明:基于CNN-BiGRU模型的操作票自动化校验方法...
  11. linux有名管道 复用,关于LINUX有名管道的多路复用有关问题
  12. Javascript常用语法 (一)
  13. 部署在IIS服务器的asp.net 网站,禁止访问指定类型文件
  14. ARM64移动处理器解惑
  15. 使用fastcgi_cache加速Nginx
  16. ODOO_posbox_打印出的小票(收据)如何修改?
  17. java实现界面化,java实现图形化界面
  18. windows xp系统重装之u盘装系统,u盘安装xp系统
  19. 【Linux】设备驱动简述,快速认知
  20. 谈谈对高内聚低耦合的认识

热门文章

  1. 飞书接入ChatGPT - 将ChatGPT集成到飞书机器人,直接拉满效率 【飞书ChatGPT机器人】
  2. 华为5G手机飙出新世界纪录:单用户速率达2.92Gbps
  3. MFC CCheckListBox 在rMBP的vmware win7上添加行崩溃
  4. 求广义表深度(严5.30)
  5. 阿里P7深入Binder原理讲解,顺利通过阿里Android岗面试
  6. JavaScript中的浏览器缓存机制问题
  7. np.insert的用法
  8. CRM系统中客户分类、客户标签的应用
  9. 100天机器学习(100-Days-Of-ML)day3多元线性回归及虚拟变量陷阱分析
  10. 如何切换node版本