2

Spring Framework发布5.3.11和5.2.18

 2 years ago
source link: https://blog.didispace.com/spring-framework-5-3-11/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

一、发布说明

北京时间10月15日,Spring Framework推出 5.3.11 和 5.2.18 两个新版本。Spring Framework5.3.11包括32 个修复和改进。Spring Framework5.2.18包括10个选定的修复和改进。

随着越来越多的人使用Spring Boot 逐渐忽略了Spring Framework的关注,其实两者的关系密不可分,对Spring Boot 如果想要能研究得更深入,那么,就需要对Spring Framework有更足够的了解和应用。

二、介绍Spring Framework

Spring 使创建 Java 企业应用程序变得容易。它提供了在企业环境中使用 Java 语言所需的一切,支持 Groovy 和 Kotlin 作为 JVM 上的替代语言,并且可以根据应用程序的需要灵活地创建多种架构。从 Spring Framework 5.1 开始,Spring 需要 JDK 8+(Java SE 8+)并为 JDK 11 LTS 提供开箱即用的支持。建议将 Java SE 8 update 60 作为 Java 8 的最低补丁版本,但通常建议使用最新的补丁版本。

Spring 支持广泛的应用场景。在大型企业中,应用程序往往存在很长时间,并且必须运行在升级周期不受开发人员控制的JDK和应用程序服务器上。其他可能作为嵌入服务器的单个 jar 运行,可能在云环境中。还有一些可能是不需要服务器的独立应用程序(例如批处理或集成工作负载)。

Spring 是开源的。它拥有一个庞大而活跃的社区,可根据各种实际用例提供持续的反馈。这帮助 Spring 在很长一段时间内成功发展。

三、Spring Framework 与Spring Boot的版本对应关系

Spring boot 版本 Spring Framework jdk 版本 maven 版本 1.5.0.RELEASE 4.3.6.RELEASE 7 3.2+ 1.5.2.RELEASE 4.3.7.RELEASE 7 3.2+ 1.5.3.RELEASE 4.3.8.RELEASE 7 3.2+ 1.5.4.RELEASE 4.3.9.RELEASE 7 3.2+ 1.5.5.RELEASE 4.3.10.RELEASE 7 3.2+ 1.5.7.RELEASE 4.3.11.RELEASE 7 3.2+ 1.5.8.RELEASE 4.3.12.RELEASE 7 3.2+ 1.5.9.RELEASE 4.3.13.RELEASE 7 3.2+ 2.0.0.RELEASE 5.0.2.RELEASE 8 3.2+ 2.1.*.RELEASE 5.1.*.RELEASE 8 3.2+ 2.2.*.RELEASE 5.2.*.RELEASE 8 3.3+ 2.3.*.RELEASE 5.2.*.RELEASE 8+ 3.3+ 2.4.* 5.3.* 8+ 3.3+ 2.5.* 5.3.* 8+ 3.3+ 2.6.* 5.3.* 8+ 3.3+

四、主要更新内容

以下列举了5.3.11版本的更新内容,5.2.18请自行查看官网

4.1 新特性

  • 增强 DefaultResponseErrorHandler 以允许记录完整的错误响应正文 #27552
  • 在 CookieAssertions 失败消息中包含正确的关键字 #27550
  • 在 ByteArrayResource.hashCode() 中使用 Arrays.hashCode() #27544
  • 通过系统属性允许默认的 CacheAwareContextLoaderDelegate 配置 #27540
  • 直接调用 bean 派生的 (Auto)Closeable.close() 方法 #27504
  • JDK 9+ 的 JNDI API 防御性参考(可选java.naming模块)#27483
  • 当消费者任务被拒绝时 DefaultMessageListenerContainer 不会记录错误/警告 #27451
  • 在 externallyManaged RootBeanDefinition 属性上提供访问器 #27449
  • 允许在CglibAopProxyvia #27439 中避免类验证ProxyFactory
  • 添加对非公共记录声明的支持 #27437
  • 为格式错误的 HTTP 响应发出 WebClientResponseException #27262
  • 如果当前连接的自动提交设置为 false,则 DatabasePopulatorUtils.execute 应该提交 #27008

4.2 BUG修复

  • CronTrigger 使用 new Date() 而不是上下文的时钟#27546
  • 在 AbstractFileResolvingResource.isReadable() 下载巨大的 jars 以检查组件长度时 con.getContentLengthLong() 的性能影响 #27541
  • ResourceUrlEncodingFilter 对 HttpServletResponse#encodeURL 的性能影响 #27538
  • UriTemplateRequestEntity 不会覆盖 hashCode() 和 equals() #27531
  • DataBufferUtils.write 丢失上下文#27517
  • 避免在 <cache:annotation-driven /> 中重复注册 JCacheOperationSource bean #27499
  • 使用 Java 17 生成代理失败,并显示“无法调用“Object.getClass()”,因为“cause”为空” #27490
  • MediaType.sortBySpecificityAndQuality 抛出 java.lang.IllegalArgumentException:比较方法违反其一般约定 #27488
  • 读取 SSE 响应时删除前导空格 #27473
  • RegEx 中的非转义右花括号导致 Android 上的初始化错误 #27467
  • ConcurrentReferenceHashMap 的 entrySet 违反了 Map 契约 #27454
  • 避免在 StandardBeanExpressionResolver 中提前确定 ConversionService #27446
  • Spring Framework >= 5.3.8 由于 InputStream 优化,ASM ClassReader 无法解析类文件 #27429
  • StringUtils.collectionToDelimitedString(?) 当集合包含 null 时失败并出现 NullPointerException #27419
  • Spring HATEOAS 在 WebFlux 中使用 Kotlin 协程和 ResponseEntity 导致 406 #27292

4.3 文档

删除关于缺少缓存 API 的评论。#27501

4.4 依赖升级

  • Upgrade to JUnit 5.8.1 #27450
  • Upgrade to Reactor 2020.0.12 #27527
  • Upgrade to SmallRye Mutiny 1.1.1 #27555

详细请点击官网地址查看:Spring Framework 5.3.11 and 5.2.18 available now

五、Spring学习推荐

如果您学习过程中如遇困难?可以加入我们超高质量的Spring技术交流群,参与交流与讨论,更好的学习与进步!

本文作者:mateplus,
原文链接:https://www.oschina.net/news/164458/spring-5-3-11-n-5-2-18-released
版权归作者所有,转载请注明作者、原文、译者等出处信息

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK