アプリケーションモジュール構造の検証
ApplicationModules
インスタンスで … .verify()
メソッドを呼び出すことで、コードの配置が意図した制約に従っているかどうかを確認できます。
Java
Kotlin
ApplicationModules.of(Application.class).verify();
ApplicationModules.of(Application::class.java).verify()
検証には次のルールが含まれます。
アプリケーションモジュールレベルでは循環はありません。モジュール間の依存関係は有向非巡回グラフを形成する必要があります。
API パッケージ経由のみの遠心モジュールアクセス - アプリケーションモジュールの内部パッケージに存在する型へのすべての参照は拒否されます。詳細については、高度なアプリケーションモジュールを参照してください。オープンアプリケーションモジュールの内部への依存関係は許可されます。
明示的に許可されたアプリケーションモジュール依存関係のみ (オプション) - アプリケーションモジュールは、オプションで
@ApplicationModule(allowedDependencies = …)
を介して許可された依存関係を定義できます。これらが構成されている場合、他のアプリケーションモジュールへの依存関係は拒否されます。詳細については、アプリケーションモジュールの明示的な依存関係および名前付きインターフェースを参照してください。
Spring Modulith はオプションで jMolecules ArchUnit ライブラリと統合され、存在する場合は、ここで説明するドメイン駆動設計 [Amazon] 検証ルールが自動的にトリガーされます。