Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。
Spring Modulith 项目引入了新的类和注释但不生成代码,它的模块不使用 Java 平台模块系统 (JPMS),而是映射到纯 Java 包。模块有一个 API,但 Spring Modulith 鼓励使用 Spring 应用程序事件作为 “交互的主要方式”,这些事件可以自动保存到事件日志中。
简单的说,Spring Modulith 提供一套工具,可以消息传递的方式来实现同一个 monolithic 服务内部的跨模块调用 (而不是直接互相调用 API)。
Spring Modulith 基于 Spring Boot 3.0、Framework 6、Java 17 和 JakartaEE 9 ,它是 Moduliths 项目的继承者,后者使用 Spring Boot 2.7,但现已停用,在 2023 年 11 月之前仅接受错误修复。
目前 Spring Modulith 0.1 版本正式发布,此版本修复了一些 Bug ,顺便将依赖升级到 Spring Boot 3.0 。
到达 GA 版本意味着该工具已正式可用,取代了 Moduliths 项目,公告中称“结束了 Moduliths 项目与 Spring 生态系统的集成”。
关于 Spring Modulith 的更多内容可在 Spring 博客中查阅。