📅  最后修改于: 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团队升级了以下内容:
- 活性弹簧
- Servlet堆栈
- Servlet容器
- Servlet API
- 春季MVC
- 反应堆
- Netty,Servlet 3.1,Undertow
- 反应式HTTP层
- 春季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。