アプリケーションモジュール構造の検証

ApplicationModules インスタンスで  … .verify() メソッドを呼び出すことで、コードの配置が意図した制約に従っているかどうかを確認できます。

  • Java

  • Kotlin

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

検証には次のルールが含まれます。

  • アプリケーションモジュールレベルでは循環はありません。モジュール間の依存関係は有向非巡回グラフを形成する必要があります。

  • API パッケージ経由のみの遠心モジュールアクセス - アプリケーションモジュールの内部パッケージに存在する型へのすべての参照は拒否されます。詳細については、高度なアプリケーションモジュールを参照してください。オープンアプリケーションモジュールの内部への依存関係は許可されます。

  • 明示的に許可されたアプリケーションモジュール依存関係のみ (オプション) - アプリケーションモジュールは、オプションで @ApplicationModule(allowedDependencies = …) を介して許可された依存関係を定義できます。これらが構成されている場合、他のアプリケーションモジュールへの依存関係は拒否されます。詳細については、アプリケーションモジュールの明示的な依存関係および名前付きインターフェースを参照してください。

Spring Modulith はオプションで jMolecules ArchUnit ライブラリと統合され、存在する場合は、ここで説明するドメイン駆動設計 [Amazon] 検証ルールが自動的にトリガーされます。