驗證應用程式模組結構

我們可以透過在我們的 ApplicationModules 例項上呼叫 ….verify() 方法來驗證我們的程式碼排列是否符合預期的約束

  • Java

  • Kotlin

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

驗證包括以下規則

  • 應用程式模組級別上無迴圈依賴 — 模組之間的依賴關係必須形成有向無環圖。

  • 僅透過 API 包訪問下游模組 — 所有對應用程式模組內部包中的型別的引用都會被拒絕。 有關詳細資訊,請參見高階應用程式模組。 允許依賴於開放應用程式模組的內部元件。

  • 僅顯式允許的應用程式模組依賴項(可選) — 應用程式模組可以選擇透過 @ApplicationModule(allowedDependencies = …) 定義允許的依賴項。 如果配置了這些,則對其他應用程式模組的依賴將被拒絕。 有關詳細資訊,請參見顯式應用程式模組依賴項命名介面

Spring Modulith 有選擇地與 jMolecules ArchUnit 庫整合,如果存在,則會自動觸發其領域驅動設計和架構驗證規則,這些規則在此處描述。