Spring Modulith 发布了 2.1 M4、2.0.5 和 1.4.10 版本,主要更新包括依赖升级和新特性,如通过 JobRunr 支持事件外部化及事件发布注册表的注解定义。
本文讨论了如何使用Spring Modulith和IntelliJ IDEA将传统单体应用迁移到模块化单体架构。传统的按层组织代码导致紧耦合和维护困难。Spring Modulith通过明确模块边界、定义公共API和事件驱动通信,帮助开发者构建结构清晰的模块化单体应用。文章还介绍了逐步迁移的步骤,包括重构包结构、修复模块边界违规和使用IntelliJ IDEA进行模块化测试。
Spring Modulith发布了2.1 M2、2.0.4和1.4.8版本,主要修复了bug并升级依赖。2.1版本新增了基于Namastack Outbox的事件外部化支持,改进了集成测试能力,并优化了指标命名以增强可观察性。
模块化单体架构将应用逻辑划分为独立模块,仍作为单个工件进行部署,结合了模块化设计的优势与单体架构的开发和发布便利。通过使用Spring Modulith和Kotlin,可以清晰定义模块边界,独立测试模块,并监控模块间的交互。
Spring Modulith 发布了 2.1 M1、2.0.2 和 1.4.7 版本,主要进行了依赖升级和错误修复。2.1 M1 是升级到 Boot 4.1 的第一个里程碑,并包含一些小改动。
Spring Modulith 2.0.1、1.4.6 和 1.3.12 发布,包含平台升级及多个改进和修复。1.3.12 为 1.3 版本的最终发布,详细信息请查看更新日志。
Spring Modulith 2.0正式发布,包含事件发布生命周期重构、支持特定模块的Flyway迁移、Jackson 3序列化等重要功能更新。同时升级至Spring Boot 4和Framework 7,并发布1.4和1.3版本的修复更新。
Spring Modulith 2.0 RC1、1.4.4和1.3.10版本发布,后两者修复了错误并升级依赖。RC1优化了新特性,增加了应用模块特定的Flyway迁移支持,并升级至Spring Boot 4.0 RC1。
Spring Modulith 2.0 M3发布,新增JPA事件发布库更新、序列化事件外部化支持、Jackson 3支持、六边形架构宽松验证,并升级至Spring Boot 4.0 M3和jMolecules 2025 RC5。
Spring Modulith 2.0 M2、1.4.3和1.3.9版本发布,包含依赖升级和小改进。2.0 M2新增MongoDB和Neo4j事件发布库实现,改进应用模块引导程序,并升级至Spring Boot 4.0 M2。
在本期播客中,我与Spring Modulith创始人奥利弗·德罗特博姆讨论了即将发布的Spring Modulith 2.0的主要功能,该版本将基于Spring Framework 7.0和Spring Boot 4.0。
Spring Modulith 2.0 M1发布,基于Spring Boot 4 M1和Spring Framework 7.0 M7。新版本改进了事件发布注册表,支持“已发布”、“处理中”、“失败”和“重新提交”等状态,解决了之前模型的局限性。同时,JDBC实现也进行了更新,以支持新状态模型,确保现有应用正常运行。
Spring Modulith 1.4.2和1.3.8版本发布,升级了Spring Boot和Framework的依赖。1.4.2版本提供了更详细的应用模块元数据,并且Sonargraph工具现已支持Spring Modulith应用的架构定义。
Spring Modulith 1.4.1和1.3.7版本发布,升级了Spring Boot和Framework的依赖。1.4.1修复了多个bug,并改进了GraalVM的JSONPath查找和Maven路径处理。
Spring Modulith 1.4正式发布,新增核心模块抽象、性能优化和测试集成功能,支持更细粒度的指标捕获,改进事件发布基础设施,并与Spring Boot 3.5及Framework 6.2兼容。
Spring Modulith 1.4 RC1、1.3.5 和 1.2.11 发布,带来性能提升、新特性和错误修复。新版本优化了事件发布注册和可观察性,Scenario API 默认只将非空集合视为成功状态转换。详细信息请查阅官方变更日志。
Spring Modulith 1.4 M3、1.3.4 和 1.2.10 发布,修复了一些错误,升级了依赖,并新增功能,如在集成测试中支持使用 @ApplicationModuleTest 消费测试源中的 bean 实例。同时,发布事件实例在应用上下文中注册时,如果类路径中有 AssertJ,将变为 AssertablePublishedEvents。
本周Java动态包括JEP 502的进展,介绍了计算常量的概念,以及JEP 503提议移除32位x86端口。Spring Modulith和Quarkus发布了新版本,修复了问题并增加了新特性。同时,Jakarta EE 11和12也在持续推进。
Spring Modulith 1.4 M2、1.3.3 和 1.2.9 发布。1.4 M2 新增自动创建应用事件计数器和 ModulithEventMetrics API。重构运行时支持,避免外部库依赖进行模块拓扑排序,并改进事件发布基础设施以支持结构相同的事件。
Spring Modulith 1.4 M1、1.3.2 和 1.2.8 版本发布。1.4 M1 引入了 Micrometer Observations API 和全局代理设置的支持,其他版本主要修复错误和升级依赖。详细信息请查看官方变更日志。
完成下面两步后,将自动完成登录并继续当前操作。