Spring Modulith 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Spring Modulith 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Spring Modulith 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache 2.0
开发语言 Java
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 罗奇奇
适用人群 未知
收录时间 2022-11-25

软件简介

Spring Modulith 支持开发人员在 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 月之前仅接受错误修复。

快速开始

  1. 在https://start.spring.io上创建一个 Spring Boot 应用程序

  2. 创建一个 Java 包安排,将业务模块作为应用程序主包的直接子包

    □ Example
    └─ □ src/main/java
       ├─ □ example           <1>
       |  └─ Application.java
       ├─ □ example.inventory <2>
       |  └─ …
       └─ □ example.order     <2>
          └─ …
    1. 应用程序根包

    2. 应用模块包

  3. 创建 ApplicationModules 模型、运行验证创建文档片段

    class ApplicationTests {
    
      @Test
      void writeDocumentationSnippets() {
    
        var modules = ApplicationModules.of(Application.class).verify(); (1)
    
        new Documenter(modules) (2)
          .writeModulesAsPlantUml()
          .writeIndividualModulesAsPlantUml();
      }
    }
    1. 创建应用程序模块模型并验证其结构

    2. 将Asciidoctor片段(组件图、应用程序模块画布)渲染到target/modulith-docs.

  4. 为各个应用程序模块运行集成测试

    □ Example
    └─ □ src/test/java
       └─ □ example.order
          └─ OrderModuleIntegrationTests.java
    @ApplicationModuleTests
    class OrderModuleIntegrationTests {
    
      @Test
      void someTestMethod() { … }
    }
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
09/23 14:33

Spring Modulith 1.3 M3、1.2.4 和 1.1.9 发布

Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 Spring Modulith 1.3 M3、1.2.4 和 1.1.9 现已发布。一些重点更新内容包括: 支持变化感知测试执行,可根据应用程序的变化跳过不受影响的测试,从而优化测试运行。 新的删除事件发布完成模式- 顾...

0
0
发表了资讯
07/20 10:45

Spring Modulith 1.3 M1、1.2.2 和 1.1.7 发布

Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 Spring Modulith 1.3 M1、1.2.2 和 1.1.7 现已发布。前者包含以下新功能: 升级到 Spring Boot 3.4 M1 和 Spring Framework 6.2 M6 – GH-737 文档创建方面的改进 – GH-644、GH-638 @Applicati...

0
0
发表了资讯
06/22 11:21

Spring Modulith 1.1.6 和 1.2.1 发布

Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 Spring Modulith 1.1.6 和 1.2.1 现已发布,包含一些错误修复、小新功能和常规依赖项升级。亮点如下: 通过spring.modulith.detection-strategy配置 ApplicationModuleDetectionStrategy的功能 ...

0
3
发表了资讯
2023/11/27 11:14

Spring Modulith 1.1 GA & 1.0.3 发布

Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 Spring Modulith 1.1 和 1.0.3 错误修复版本现已发布。一些更新亮点包括: 支持将 event externalization 化为 AMQP、Kafka、JMS、AWS SNS 和 SQS #248 #344 用于处理已完成和未完成的事件发布的...

2
0
发表了资讯
2023/10/24 11:33

Spring Modulith 1.1 RC1 & 1.0.2 发布

Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 Spring Modulith 1.1 RC1 和 1.0.2 现已发布。后者主要修复了一些 bug 并升级到 Spring Boot 3.1.5,前者则打包了很多新功能,例如: 升级到 Spring Boot 3.2 RC1 / Spring Framework 6.1 RC1 G...

1
0
发表了资讯
2023/08/10 11:44

Spring Modulith 1.0 RC1 发布,GA 前的最后一个版本

Spring Modulith 1.0 RC1 现已正式发布。Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 公告指出,第一个候选版本也可能是 GA 版本之前的最后一个版本,包含相当多的新功能和改进。具体更新内容有: GH-240 – 现在可以配置启动时的事件重新发...

0
0
发表了资讯
2023/06/25 15:36

Spring Modulith 1.0 M1 发布

Spring Modulith 1.0 M1 现已正式发布。Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 这是该项目一个重要的里程碑,也是将其从一个实验性项目提升为 Spring 官方项目的第一步。因此,新版本包含了一些破坏性变更: 组标识符现在为org.springf...

0
1
发表了资讯
2023/05/05 07:19

Spring Modulith 0.6 发布

Spring Modulith 0.6 现已正式发布。Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 新版本的一些更新亮点包括: GH-175 – 如果你使用事件发布注册表,则自动配置 MongoDB 事务。 GH-184 – 事件发布注册表现在启用异步处理和 shutdown 行为。...

1
1
发表了资讯
2023/03/11 07:26

Spring Modulith 0.5 发布

Spring Modulith 0.5 现已正式发布。Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 新版本的一些更新亮点包括: #152 – 一个专门的启动器,便于加入执行器和可观察性功能 #163 – 触发 JDBC 数据库初始化的重命名属性。( spring.modulith.eve...

0
1
发表了资讯
2022/12/25 07:36

Spring Modulith 0.2 发布

Spring Modulith 0.2 现已正式发布。Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 新版本增加了以下功能: 引入了@ApplicationModuleListener来简化异步、在事务中运行的事务性事件侦听器的声明。官方推荐作为集成应用程序模块的默认模型。(...

0
1
发表了资讯
2022/11/26 07:49

Spring Modulith 0.1 GA,正式取代了 Moduliths 项目

Spring Modulith 是一个新的、实验性的 Spring 项目,支持开发人员在 Spring Boot 应用程序中实现逻辑模块,它允许应用结构验证、记录模块安排、为单个模块运行集成测试、在运行时观察模块交互,以及以松散耦合的方式实现模块交互。 Spring Modulith 项目引入了新的类和注释但不生成代码,它的模块不使用 Java 平台模块系统 (JPMS),而是映射到纯 Java 包。模块有一个 API,但 Spring Modulith 鼓励使用 Spring 应用程序事件作为...

4
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部