📜  Spring Boot版本

📅  最后修改于: 2021-01-11 04:52:41             🧑  作者: Mango

春季启动版

Spring Boot的最新版本是2.0 。它引入了许多新功能以及一些修改和替换。

Spring Boot 2.0

让我们先来看看Spring Boot 2.0。

  • 新增功能基础架构升级Spring Framework 5
  • 更改的内容配置属性Gradle插件执行器端点
  • 不断发展的安全指标

关键团队已升级了涉及以下工具的基础架构:

  • 支持Java 8或更高版本
  • 支持Apache Tomcat 8或更高版本
  • 支持Thymeleaf 3
  • 支持Hibernate 5.2

Spring Framework 5中,Pivotal团队升级了以下内容:

  • 活性弹簧
    1. Servlet堆栈
      1. Servlet容器
      2. Servlet API
      3. 春季MVC
    2. 反应堆
      1. Netty,Servlet 3.1,Undertow
      2. 反应式HTTP层
      3. 春季WebFlux
  • 功能性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框架5.2.1
  • 春季AMQP 2.2.1
  • 氢气1.4.200
  • 春季安全5.2
  • 春季批次4.2

在此版本中升级了一些重要且广泛使用的第三方依赖项,如下所示:

  • 千分尺1.3.1
  • 飞道6.0.7
  • Elasticsearch 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来启用它。

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:春季启动2.2.1
  • Spring Framework 5.2:此版本的Spring Boot将Spring Framework升级到5.2。
  • JMX已禁用:在此版本中,默认情况下未启用JMX。我们可以使用属性jmx.enabled = true启用它。如果您使用IDE功能来监视您的应用程序,我们需要启用它。
  • 默认情况下启用了Fork:由Maven Plugin运行的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。