核心依赖升级
Spring Boot 2.3迁移到几个Spring项目的新版本:
- Spring Data Neumann:你可以理解为它就是之前的Spirng Data工程的升级版
- Spring HATEOAS 1.1
- Spring Integration 5.3
- Spring Kafka 2.5
- Spring Security 5.3
- Spring Session Dragonfruit
Spring Boot 2.3的构建与Spring Boot 2.2基于 相同的 Spring Framework和Reactor。
说明:spirng-core么有升级,还是5.2.6版本(SB的2.2.7版本依赖的spring-core也是这个版本)
三方库依赖升级
- AssertJ 3.16
- Cassandra Driver 4.6
- Elasticsearch 7.6
- Hibernate Validator 6.1
- JUnit Jupiter 5.6
- Kafka 2.5
- Lettuce 5.3
- Micrometer 1.5
- MongoDB 4.0
Spring Data Neumann升级带来的变化
- Cassandra:升级到v4版本,带来了一些变化,如ClusterBuilderCustomizer就木有了~
- Couchbase:升级到v3版本
- Elasticsearch:已废弃的原生Elasticsearch transport直接被删除了,并且还移除了对Jest的支持。从此版本开始,默认支持Elasticsearch7.5+
- MongoDB:升级到v4版本
关于Validation
从此版本开始,spring-boot-starter-web不会再把validation带进来,所以若使用到,你需要自己添加这个spring-boot-starter-validation依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
关于spring-boot-starter-web启动器新、老版本的区别截图:
移除一些maven插件
移除了对exec-maven-plugin和maven-site-plugin这两个插件的管理,所以如果你的工程依赖于这两个插件,那么你得显示的导入(指定版本号)。
支持Java14
Spring Boot 2.3增加了对Java 14的支持。当然Java 8和Java 11也还是被支持的。
Docker支持
在Maven和Gradle插件中添加了对构建包含分层内容的jar文件的支持。分层根据jar内容的更改频率来分隔它们。这种分离允许更有效地构建Docker映像。未更改的现有层可以与已更改的层一起放在顶部进行重用。
根据您的应用程序,您可能需要调整层的创建方式并添加新层。这可以通过描述如何将jar分成层以及这些层的顺序的配置来完成。
Fat Jar支持优化
用Maven和Gradle构建的Fat jar现在包括一个索引文件。当jar被分解时,这个索引文件用于确保类路径的顺序与直接执行jar时相同。
嵌入式Servlet Web Server线程配置
用于配置嵌入式Servlet web服务器使用的线程的配置属性(包括Jetty, Tomcat, 和Undertow)别移动到了专注于threads的组:erver.jetty.threads,server.tomcat.threads,server.undertow.threads。当然喽,旧的配置属性目前依然保留着,但被标记为@Deprecated不再推荐使用了~
WebFlux基础路径配置
现在可以配置WebFlux应用程序的所有web处理程序的基本路径。使用pring.webflux.base-path = xxx配置。
活性探测器
Spring Boot现在内置了关于应用程序可用性的探测的能力,可以跟踪应用程序是否处于活动状态以及是否准备好处理流量。如果你配置了management.health.probes.enabled=true,那么健康检查端点就可以查看你应用的活性和就绪列表,这在在Kubernetes上运行时,这是自动完成的。
Actuator增强
主要是对端点做了些输出、显示上的优化。如:
- /actuator/metrics/:按字母顺序排列,这样你找起来就更方便了
- DataSource的HealthIndicator健康指示器,现在进行无查询判断,而Connection仅做连接可用性验证而已
- …
好基友Spring Cloud什么时候跟上?
作为Spring Boot的好基友,按照以往的惯例,他俩的步调不一般都保持基本一致。戒指到当前,Spring Cloud的最新版本是Hoxton SR4,那它是否支持最新的Spring Boot2.3.0呢???答案是:不支持,不支持,不支持。对于Spring Boot这种跨版本升级,一般是有阻断性变化,所以它的机油SC适配上还需要时间。
这不,官方就公布了Spring Cloud支持Spring Boot 2.3.x的里程碑时间点,也就是它的Hoxton.SR5版本发布时间点:
Spring Cloud里程碑地址:https://github.com/spring-cloud/spring-cloud-release/milestones
升级建议:等等
至少要等到2020-5-26号发布后嘛,至少要等到Spring Boot2.3.x跑一段时间之后嘛,坐在第二排看戏,才是最舒服最稳妥的。
总结
这是A哥奉给大家的,对Spring Boot2.3.0版本新特性的介绍,希望对你有些帮助。有些人可能会这么说:反正我现在也不用这个版本,没有必要去了解它。其实非也,如果你2.3.0不去了解,2.4.0不去了解,倘若某一天你突然要从2.0.0版本过度过来使用2.5.x版本了,你会“浑身不舒服”的。你品下,是不是这么个道理呢?