对于最新的稳定版本,请使用 Spring Modulith 1.2.1Spring中文文档

对于最新的稳定版本,请使用 Spring Modulith 1.2.1Spring中文文档

我们可以通过在实例上调用该方法来验证我们的代码排列是否符合预期的约束:….verify()ApplicationModulesSpring中文文档

ApplicationModules.of(Application.class).verify();
ApplicationModules.of(Application::class).verify()

验证包括以下规则:Spring中文文档

  • 在应用程序模块级别上没有循环 — 模块之间的依赖关系必须形成有向的无环图。Spring中文文档

  • 仅通过 API 包访问传出模块 — 拒绝对驻留在应用程序模块内部包中的类型的所有引用。 有关详细信息,请参阅高级应用程序模块Spring中文文档

  • 仅显式允许的应用程序模块依赖项(可选) — 应用程序模块可以选择通过 定义允许的依赖项。 如果配置了这些模块,则拒绝对其他应用程序模块的依赖关系。 有关详细信息,请参阅显式应用程序模块依赖项命名接口@ApplicationModule(allowedDependencies = …)Spring中文文档

Spring Modulith可以选择与jMolecules ArchUnit库集成,如果存在,则自动触发此处描述的域驱动设计验证规则。Spring中文文档