首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(完结版)SpringBoot3.0 + RocketMq 构建企业级数据中台

SpringBoot3.0 + RocketMq 构建企业级数据中台

download: https://www.sisuoit.com/4394.html

Spring Boot 3.0 现已正式发布,它包含了 12 个月以来 151 个开发者的 5700 多次代码提交。这是自 4.5 年前发布 2.0 以来,Spring Boot 的第一次严重修订。

它也是第一个支撑 Spring Framework 6.0 和 GraalVM 的 Spring Boot GA 版别,一起也是第一个根据 Java 17 的 Spring Boot 版别,以 Jakarta EE 9 为基准并支撑 Jakarta EE 10。一起借助于 GraalVM 支撑了 AOT 和 Native Image。

JDK调整

首先要晋级你的 JDK 到 JDK17,假如你要运用 Native Image 特性,要运用 GraalVM 22.3 以上和 Native Build Tools Plugin 0.9.17 或更高的版别。

平滑晋级

这里不主张直接从低于 Spring Boot 2.7 的版别直接晋级到 Spring Boot 3.0。否则新特性和 API 改动太多,就需求你修正很多的装备,晋级途径会过于陡峭。主张通过小版别号分阶段晋级到 2.4、2.6、2.7,最终再到 3.0。

依靠调整

Spring Boot3.0 下依靠组件的版别要求也不尽相同,比如 Spring Boot Kafka Starter 可能对 Kafka 有什么要求,这要求你进行充沛评估。Spring Cloud 体系应该在对应的 Spring Boot 3.0 体系发布后进行晋级

一旦上面的作业准备结束,你就能够开始尝试晋级到 Spring Boot 3.0 了。

最低环境要求

Spring Boot 3.0 最低要求 Java 17,并向上兼容支撑 Java 19。

所以,假如你想晋级 Spring Boot 3.0,请保证你的 JDK 版别是否符合要求,毕竟现在大部分人仍是用的 Java 8,晋级 JDK 版别不是一件小事,虽然现在 Java 17+ 是免费运用的,但不确认哪个时刻点会收费,也能够转战 OpenJDK 或许其他开源的 JDK 版别。

别的,Spring Boot 3.0 已将一切底层依靠项从 Java EE 搬迁到了 Jakarta EE API,根据 Jakarta EE 9 并尽可能地兼容 Jakarta EE 10。由于早在几年前 Java EE 已经正式更名为 Jakarta,所以,一切相关的称号都变了,包含包名,所以运用了 Java EE 的运用改动也不小。

装备特点兼容

除此之外,Spring Boot 管理的很多第三方的技能依靠也有大幅度的的晋级,具体能够参考官方版别发布文档:

https://github.com/spring-projects/spring-boot/releases/tag/v3.0.0

在 Spring Boot 3.0 中,一些装备特点被重新命名/删除了,开发人员需求相应地更新他们的application.properties或许application.yml。为了协助你做到这一点,Spring Boot 3.0 供给了一个spring-boot-properties-migrator模块。一旦作为依靠关系添加到你的项目中,它不只会在发动时分析你的运用程序的环境并打印确诊结果,并且还会在运行时为你临时搬迁特点。把下面这个参加pom.xml以协助你晋级兼容装备特点:

org.springframework.boot

spring-boot-properties-migrator

runtime

完结搬迁之后,务必要移除spring-boot-properties-migrator依靠。

进步运用可调查性

Spring Boot 3.0 通过 Micrometer 和 Micrometer 追寻进步运用可调查性,支撑集成 Micrometer 1.10+,引入了的全新的可调查 API 并主动装备 Micrometer 追寻,包含对 Brave、OpenTelemetry、Zipkin 和 Wavefront 组件的支撑。

运用 Micrometer 可调查 API 时,完结调查后,可将调查数据主动报告给 Zipkin 等组件,并支撑自定义追寻参数装备,这个新特性能够更好地协助咱们了解并监控运用的健康状况。

Jakarta EE

由于 Java EE 已经改动为 Jakarta EE,包名以 javax最初的需求相应地改动为jakarta。这里主张通过 Intellij IDEA 2021.2 供给的内置功能批量处理即可:

当然你也能够手动去改动包名。

晋级的要害改动

Spring Boot 3.0 有一些要害改动,这些改动将与大多数运用程序有关。所以开发者要仔细阅读这些改动。

主动装备文件改动

Spring Boot 2.7 引入了一个新的文件:

META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

用于注册主动装备,一起坚持与 spring.factories 中注册的向后兼容。Spring Boot 3.0 发布后,spring.factories已经被移除,只能通过imports文件来注册主动装备。

支撑 GraalVM 原生镜像

GraalVM 是 Oracle 在 2018 年发布的一个全新的通用全栈虚拟机,并具有高性能、跨言语交互等逆天特性,不只支撑了 Java、Scala、Groovy、Kotlin 等根据 JVM 的言语,以及 C、C++ 等根据 LLVM 的言语,还支撑其他像 JavaScript、Ruby、Python 和 R 言语等。

Spring Boot 3.0 运用现在能够支撑转换为 GraalVM 原生镜像了,这能够供给明显的内存和发动性能改进,能支撑 GraalVM 原生镜像也是整个 Spring 产品组合中的一项严重能力的提高。

Spring Boot 3.0 最低支撑 Graal 22.3+ 和 Native Build Tools Plugin 0.9.17+。

Spring Boot 3.0 支撑 GraalVM 原生镜像后,它乃至取代了实验性的 Spring Native 项目:

Spring Boot 最新支撑版别

栈长整理了 Spring Boot 的最新版别支撑状况:

版别 发布时刻 中止保护时刻 中止商业支撑

3.0.x 2022-11-24 2023-11-24 2025-02-24

2.7.x 2022-05-19 2023-11-18 2025-02-18

2.6.x 2021-12-17 2022-11-24 2024-02-24

2.5.x 2021-05-20 已中止 2023-08-24

2.4.x 2020-11-12 已中止 2023-02-23

2.3.x 2020-05-15 已中止 已中止

2.2.x 2019-10-16 已中止 已中止

2.1.x 2018-10-10 已中止 已中止

2.0.x 2018-03-01 已中止 已中止

1.5.x 2017-01-30 已中止 已中止

Spring Boot 2.5.x 这条版别线在本年 5 月份已经中止保护了,免费保护能用的也就 Spring Boot 2.6 及以上的版别了,并且,随着 Spring Boot 3.0 的发布,Spring Boot 2.6.x 也要相继中止保护了,届时能用的就 2.7.x 和 3.0.x 了。

商业支撑最低也得 Spring Boot 2.4+,2.4 以下版别没有任何支撑了,话说你们用的哪个 Spring Boot 版别呢?

可是,我觉得现在仍是会有很多公司很多运用 Spring Boot 2.3 及以下的版别,由于版别更新太快,晋级兼容太麻烦了,也怕影响线上业务,公司都是求业务稳定,除非是遇到严重缝隙(但也能够增量晋级),一般都会保守晋级。

之前就有粉丝问公司还用着 1.x 和 2.0.x 及其他低版别的 Spring Boot 有没有问题,这要看状况吧,假如是内部体系,不供给外网访问,或许没啥问题,假如是公网体系,主张仍是运用正在保护的稳定版别。

Spring Boot 现在已经成为了实事上的脚手架框架了,让学习和开发变得更简单,一起这版别的筛选节奏也让我感觉技能更新实在太快了,所以咱们也要不断坚持学习,否则也会跟着筛选。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OEZsf9D5Qty3aYvUDgwySjPA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券