Bootiful Spring Boot 3.4:开始

工程 | Josh Long | 2024 年 11 月 25 日 | ...

大家好,Spring 爱好者们!祝大家 Spring Boot 3.4 发布快乐!

我知道,我知道你在想什么:Josh,Spring Boot 3.4 已经发布了!我知道。Spring Boot 3.4 今年提前了一周发布!在过去的几年里,我们总是在美国的感恩节当天发布 Spring Boot,这对我们在美国的开发者来说很辛苦,因为需要更多的准备。今年,提前了一周!我为什么要提这个?嗯,在感恩节之前,我 Actually 已经有时间去探索 Spring Boot 3.4 带来的绝佳可能性了。虽然…

Bootiful Spring Boot 3.4:Spring AI

工程 | Josh Long | 2024 年 11 月 24 日 | ...

我爱 Spring AI。这是一个很棒的项目,旨在将 AI 工程的模式和实践带给 Spring Boot 开发者。它提供了简洁、惯用的抽象,让任何 Spring 开发者都能感到宾至如归,并且它还集成了各种不同的向量存储、嵌入模型、转录模型、图像模型和聊天模型。

新版本 m4,基于 Spring Boot 3.4 构建,并增加了大量新功能。一如既往,我无法涵盖所有新功能,但发布说明做得非常出色。

  • 增加了对 Amazon Bedrock Converses 的新支持
  • 在 Java 和 Kotlin 中,对更具表现力的函数调用进行了大量工作
  • 这是对 AI 社区中关于“高级和模块化 RAG”的想法的首次实现。RAG,当然是检索增强生成,指的是使用系统或服务中的数据来告知聊天模型生成的响应。这些想法在本 篇论文这篇论文中有所阐述,而构建块正在这个新版本中生根发芽。太棒了!

Bootiful Spring Boot 3.4:Spring Batch

工程 | Josh Long | 2024 年 11 月 24 日 | ...

Spring Batch 5.2 的新版本带来了海量功能!Spring Batch 是处理大量但有限的顺序数据访问的引人注目的方式。想想:从 SQL 数据库读取并写入 CSV,或者从 FTP 服务器读取并输出 MongoDB 的分析——这就是批量处理。你懂的。这其中一半的工作(抱歉双关语!)是集成各种数据源和多个数据接收器。另一方面的挑战,正如你所想象的,对于耗时且可能失败的工作负载,是维护与每个批量作业运行相关的持久且详尽的元数据。再次,我…

Bootiful Spring Boot 3.4:Spring Boot

工程 | Josh Long | 2024 年 11 月 24 日 | ...

现在我们又回到了起点:Spring Boot 3.4!这个版本将所有内容整合在一起。当你审视 Spring Boot 时,请记住它标准化了所有项目的集成,并尽可能地尝试平滑使用这些项目时可能出现的集成问题。此外,它还提供了对所有其他框架用户都有益的设施。

举个例子:当我们为 Spring Framework 6 和 Spring Boot 3 引入 GraalVM 原生镜像支持时,它是分三个阶段交付的。第一阶段:组件模型、生命周期和核心…

Bootiful Spring Boot 3.4:Spring Data

工程 | Josh Long | 2024 年 11 月 24 日 | ...

发布公告博文很好地强调了 Spring Data 2024.1 中的一些新功能。请记住:Spring Data 是一个总括项目,聚合了支持 Couchbase、Redis、MongoDB、JDBC、R2DBC、Neo4J、Apache Cassandra 等数据存储的模块。它是将数据存储连接到应用程序的最简单方法。事实上,我们可以写一本小书来介绍这里的所有新功能!

以下是一些引起我注意的功能。

  • 一个新的 Repository fragments SPI 允许 classpath 上的任何任意 .jar 文件,或者其他包中的代码,通过 Spring.factories 服务工厂机制向 Spring Data 仓库机制贡献扩展。
  • Spring Data JPA 中查询解析开销大大降低
  • Spring Data MongoDB 中的 @TimeSeries 过期
  • Spring Data for Apache Cassandra 中表和用户定义类型的 keyspace 限定
  • Spring Data Cassandra 中使用 CqlGenerator refined CQL 生成
  • Spring Data Redis 在事务和管道操作中支持 Jedis Lua 脚本
  • 使用 JedisClientConfigBuilderCustomizer 自定义 JedisClientConfig

Bootiful Spring Boot 3.4:Spring Integration

工程 | Josh Long | 2024 年 11 月 24 日 | ...

Spring Integration 6.4 是你处理所有企业应用集成事务的一站式解决方案。它支持众多消息传递和集成模式,以及更多的技术适配器——SFTP、FTP、Redis、Apache Pulsar、Apache Kafka、JDBC、TCP/IP 等。所以,你可能已经猜到了,根本不可能全部跟上。 发布说明做得相当好,所以我将列出我最喜欢的一些。

  • 远程文件系统入站适配器现在使用 clearFetchedCache() 方法从缓存中删除未处理远程文件的引用。
  • Spring Integration 分布式锁机制有一个方法 - LockRepository#delete - 该方法现在返回移除分布式锁所有权的结果。
  • 同样,基于 Redis 的分布式锁实现 - RedisLockRegistry - 如果锁的所有权已过期,则会抛出 ConcurrentModificationException
  • 现在有一个方便的 Consumer<SshClient>,允许进一步定制内部 SshClient

Bootiful Spring Boot 3.4:Spring Modulith

工程 | Josh Long | 2024 年 11 月 24 日 | ...

当 Spring Boot 首次推出时,我在演讲时会告诉大家,Spring Boot 就像与 Spring 团队进行结对编程。它提供了“约定优于配置”的原则,让你能够快速搭建基础设施并开始工作。但它并没有提供太多架构指导。可以说是没有“轨道”,关于如何构建你的应用程序。而且,我认为这没关系,因为 Spring Boot 并不是一个只有一种用途的工具。你可以用它来开发 CLI、单体应用、Web 应用、批量作业、流处理和集成处理器、微服务、GRPC 服务、Kubernetes 操作员等…

Bootiful Spring Boot 3.4: Spring Security

工程 | Josh Long | 2024 年 11 月 24 日 | ...

Spring Security 6.4.1 是你处理身份验证和授权的“一站式商店”,而这个版本简直是重磅炸弹!发行说明充满了可能性

发行说明是骗人的!

我的意思是,它们并非全然是谎言。只是它们没有很好地捕捉和传达这个版本有多么出色。这个版本用户可见的新功能比以往许多版本都要多。这可能是我最喜欢的 Spring Security 版本,至少自从它开始拥有 Java 配置 DSL 以来是这样!

看看那些发布说明。看到那些关于Passkeys一次性令牌登录的微不足道的部分了吗?嗯。那是谎言…

Bootiful Spring Boot 3.4:Spring Framework

工程 | Josh Long | 2024 年 11 月 24 日 | ...

Spring Framework 6.2 的发布说明详细介绍了所有新功能。我不会在这里赘述,但以下是一些吸引我眼球的功能:

  • 自动装配排序中的泛型类型安全得到改进。
  • 更智能、更优化的 Spring 表达式语言表达式。
  • 在 Web 应用程序以及 WebJars 支持中更高效地处理资源。
  • 对 Spring 的 JMS 支持和 STOMP-over-WebSocket 支持进行了优化。
  • 通过新的 HTMLUnit 依赖项、Spring MVC 测试的 AssertJ 风格 MvcTester 以及大大改进的测试中的模拟 bean,提供了改进的测试支持。
  • 支持 @Fallback bean 的概念,它本质上是 @Primary bean 的镜像。
  • 后台 bean 初始化。
  • 改进了数据到构造函数的绑定。

Spring Modulith 1.3 有什么新内容?

工程 | Oliver Drotbohm | 2024 年 11 月 22 日 | ...

经过半年的开发,Spring Modulith 1.3 GA已经发布。它充满了新功能、改进,而且——最重要的是——社区贡献。让我带你了解其中一些最有趣的内容。

基线升级

一如既往,Spring Modulith 的新次要版本会升级到最新的 Spring Boot 和 Spring Framework 版本,分别是3.46.2。即便如此,我们仍然兼容它们的前代版本,以便你可以选择性地升级到 Spring Modulith 1.3,而无需升级到最新的 Boot 和 Framework 版本。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有