Spring Boot版本介绍

本文概述

  • Spring Boot 2.0
  • 新的功能
  • 依赖升级
  • 性能改进
  • Spring Boot 2.2中的弃用
Spring Boot的最新版本是2.0。它引入了许多新功能以及一些修改和替换。
Spring Boot 2.0让我们先来看看Spring Boot 2.0。
  • 什么是新的
    基础架构升级
    Spring框架5
  • 发生了什么变化
    配置属性
    Gradle插件
    执行器端点
  • 发生了什么
    安全
    指标
关键团队已升级了涉及以下工具的基础架构:
  • 支持Java 8或更高版本
  • 支持Apache Tomcat 8或更高版本
  • 胸腺支持3
  • 支持Hibernate 5.2
在Spring Framework 5中, Pivotal团队升级了以下内容:
  • 活性弹簧
    1. Servlet堆栈
      1. Servlet容器
      2. Servlet API
      3. SpringMVC
    2. 反应堆
      1. Netty, Servlet 3.1, Undertow
      2. 反应式HTTP层
      3. SpringWebFlux
  • 功能性API
  • Kotlin支持
Spring Boot的最新版本是2.2.1。该版本的Spring Boot包含110个修复程序, 依赖项升级和改进。
在Spring Boot v2.2.1中, 默认情况下现在禁用注释@ConfigurationProperties扫描。我们需要通过添加@ConfigurationPropertiesScan注释来明确选择加入。
新的功能
  • 支持嵌套在JavaBean中的属性的构造方法绑定
  • 在WebFlux中为CodecConfigurer.maxInMemorySize添加配置属性
  • 公开测试切片的类型以排除过滤器
  • 在spring.rabbitmq.addresses中支持amqps:// URI
依赖升级Spring Boot v2.2.1中已升级了一些依赖项, 如下所示:
  • Mongodb 3.11.2
  • Spring Security 5.2.1。发布
  • Slf4j 1.7.29
  • Spring Hateoas 1.0.1。发布
  • Hibernate Validator 6.0.18.Final
  • 休眠5.4.8。最终版
  • 码头9.4.22.v20191022
  • Spring Framework 5.2.1
  • SpringAMQP 2.2.1
  • 氢气1.4.200
  • Spring安全5.2
  • Spring批次4.2
在此版本中升级了一些重要且广泛使用的第三方依赖项, 如下所示:
  • 千分尺1.3.1
  • 飞道6.0.7
  • 弹性搜索6.8.4
  • JUnit 5.5
  • 杰克逊2.10
性能改进在Spring Boot 2.2.1中, 以下性能已得到改善:
延迟初始化
在Spring Boot 2.2.1中, 我们可以通过使用spring.main.lazy-initialization属性来启用全局延迟初始化。它减少了应用程序的启动时间。
Java 13支持
Spring Boot 2.2.1现在支持Java 13的最新版本。
不变绑定
在较新版本的Spring Boot中, 配置属性支持基于构造函数的绑定。用@ConfigurationProperties注释的类注释是不可变的。可以通过使用@ConstructorBinding向类或其构造函数之一添加注释@ConfugurationProperties来启用它。
【Spring Boot版本介绍】RSocket支持
它是Spring Security的一部分。当应用程序发现classpath中存在spring-security-rsocket时, 将自动配置RSocket集成。
Spring Boot 2.2中的弃用
  • 属性logging.file已重命名为logging.file.name。
  • 属性logging.path已重命名为logging.file.path。
  • 不建议使用server.connection-timeout属性, 而应使用特定于服务器的属性。
  • 不赞成使用Joda时间支持, 而推荐使用java.time。
在Spring Boot 2.2.1中进行了以下改进
  • Java:Spring Boot2.2.1
  • Spring Framework 5.2:此版本的Spring Boot将Spring Framework升级到5.2。
  • JMX已禁用:在此版本中, 默认情况下未启用JMX。我们可以使用属性jmx.enabled = true启用它。如果你使用IDE功能来监视你的应用程序, 我们需要启用它。
  • 默认情况下启用了Fork:由Maven插件运行的Spring Boot应用程序现在默认为进行了分支。
  • JUnit 5:默认情况下, Spring Boot v2.2.1提供了JUnit 5。默认情况下, 还包括JUnit 5的老式引擎, 该引擎支持现有的基于JUnit 4的测试类。我们还可以在同一模块中使用基于JUnit 4和JUnit 5的测试类。
  • AssertJ 3.12:此版本的Spring Boot升级到AssertJ 3.12。它包含与迭代器相关的断言的重要API更改。
  • Hibernate方言:在较新版本的Spring Boot中, Hibernate选择要使用的方言, 而不是根据检测到的数据库应用默认方言。
  • Gradle要求:最新版本的Spring Boot需要Gradle 4.10。

    推荐阅读