本周 Spring 动态 - 2023 年 9 月 26 日

工程 | Josh Long | 2023 年 9 月 26 日 | ...

Spring 爱好者们大家好!欢迎阅读最新一期的《本周 Spring 动态》!你们好吗?今天是 2023 年 9 月 26 日,我正在阳光明媚的新加坡参加 VMWare Explore Singapore 期间的 SpringOne 活动。如果您在附近,别忘了过来打个招呼!

新加坡的这一周将充满乐趣且非常忙碌,下周我将前往比利时安特卫普参加精彩的 Devoxx BE 2023。之后,我将前往摩洛哥参加 Devoxx MA 2023。再然后,我将前往阿姆斯特丹参加 SpringOne Tour Amsterdam。如果您在这些地方中的任何一个,请随时联系并打个招呼!我很高兴能与您交流!接下来,我们有很多内容要讲……

使用 Spring Modulith 简化事件外部化

工程 | Oliver Drotbohm | 2023 年 9 月 22 日 | ...

事务性服务方法是 Spring 应用中常见的模式。这些方法会触发对业务很重要的状态转换。这通常涉及核心领域抽象,例如聚合及其相应的仓库 (repository)。这种典型安排的示例可能如下所示

@Service
@RequiredArgsConstructor
class OrderManagement {

  private final OrderRepository orders;

  @Transactional
  Order complete(Order order) {
     return orders.save(order.complete());
  }
}

由于此类状态转换可能对第三方感兴趣,我们可能希望……

Paketo Buildpacks Bionic 结束支持

工程 | Scott Frederick | 2023 年 9 月 22 日 | ...

Maven 和 Gradle 的 Spring Boot 插件提供了使用 Cloud Native Buildpacks 构建 Docker 镜像的能力。默认情况下,Spring Boot 使用 Paketo Buildpacks 项目提供的 CNB 构建器。

有什么变化

Paketo Buildpacks 项目宣布,基于 Ubuntu 18.04 Bionic 的构建器不再受支持,取而代之的是基于 Ubuntu 22.04 Jammy 的构建器。有关受此更改影响的构建器的更多详细信息,请参阅Paketo 公告

Spring Boot 3.1 及更早版本的 Maven 和 Gradle 插件在构建时默认使用 Bionic Base Builder……

你好,Java 21

工程 | Josh Long | 2023 年 9 月 20 日 | ...

Spring 爱好者们大家好!

获取代码

在开始之前,请快速帮我做一件事。如果您还没有安装,请前往安装 SDKMAN

然后运行

sdk install java 21-graalce && sdk default java 21-graalce

瞧!现在您的机器上已经有了支持 Java 21 的 Java 21 和 GraalVM,随时可用。依我看来,Java 21 是 Java 最关键的版本,也许是史无前例的,因为它为使用 Java 的人们带来了全新的机遇世界。它带来了一系列优秀的 API 和新增功能,例如模式匹配 (pattern matching),这是多年来功能缓慢而稳定地添加到平台的结果。但是……

Spring 技巧:快乐地跃迁到 Java 21

工程 | Josh Long | 2023 年 9 月 19 日 | ...

Spring 爱好者们大家好!期待已久的 Java 21 和支持 Java 21 的 GraalVM 终于来了!虽然等待了很久,但 Java 21(将于今天,即 2023 年 9 月 19 日晚些时候发布)带来了迄今为止所有 Java 版本中最令人兴奋的新特性。在这个视频中,我(https://www.youtube.com/@coffeesoftware)将回顾 Java 17 的一些基础特性,看看它们如何在 Java 21 中达到顶峰。我将探讨最大的特性——虚拟线程 (virtual threads) 和模式匹配 (pattern matching)。我还将介绍一些您可能不会注意到的、但能提升开发体验的特性,它们是……

本周 Spring 动态 - 2023 年 9 月 19 日 (Java 21 特别版)

工程 | Josh Long | 2023 年 9 月 19 日 | ...

Spring 爱好者们大家好!欢迎阅读最新一期的《本周 Spring 动态》——Java 21 特别版

最大的新闻,没错,是*最*大的新闻,就是 Java 21 现在已经发布了!您应该使用 SDKMAN 来安装它,就像这样:sdk install java 21-graalce && sdk default java 21-graalce。这次安装会为您提供新的 Java 21 OpenJDK 发行版和针对 Java 21 的新的 GraalVM 原生镜像支持。它与现有的 Spring Boot 版本配合得很好,但真正的价值将在 Spring Boot 3.2 中体现,届时您只需设置一个属性即可启用虚拟线程:spring.threads.virtual.enabled=true。Spring Boot 3.…

本周 Spring 动态 - 2023 年 9 月 12 日

工程 | Josh Long | 2023 年 9 月 12 日 | ...

Spring 爱好者们大家好!欢迎阅读最新一期的《本周 Spring 动态》!在这个美好的 9 月 12 日,您过得好吗?我很好,甚至有点兴奋。我刚从美丽的挪威奥斯陆回来,从今天开始,接下来的 30 天左右我将非常忙碌。我将访问华盛顿州西雅图;墨西哥墨西哥城;德克萨斯州达拉斯;新加坡(SpringOne Singapore);比利时安特卫普(Devoxx BE!);英国伦敦;荷兰阿姆斯特丹;以及(也许)德国的部分地区。请关注我的社交媒体视频,了解随着日期和行程明朗后的详细信息。总之,这周我们有很多内容要深入研究,所以……

现在,万事俱备:Spring Boot 3.2、GraalVM 原生镜像、Java 21 以及 Project Loom 的虚拟线程,

工程 | Josh Long | 2023 年 9 月 9 日 | ...

等待了非常久,但我们终于可以创建使用 Spring Boot(通过 Spring Boot 3.2)和 Java 21 的虚拟线程(Project Loom)的 GraalVM 原生镜像了!

这一切为什么重要?Project Loom 和 GraalVM 原生镜像这些独立的部分,都提供了引人注目的运行时特性。我等了这么久,终于等到它们融合!让我们依次讨论它们。

GraalVM 原生镜像

GraalVM 是一个 OpenJDK 发行版,提供了一些额外的实用工具,其中包括一个名为 native-image 的工具,它能对您的代码进行预先 (AOT) 编译。我们……

订阅 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

提升自我

VMware 提供培训和认证,助您快速提升。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

即将到来的活动

查看 Spring 社区所有即将到来的活动。

查看全部