このマニュアルは進行中で、現在不完全です。
改善のお手伝いをしていただける場合は、ぜひこちらをご覧ください。 README

13 Google Guice 統合

ratpack-guice 拡張機能では、Google Guice との統合を提供します。この拡張機能の主な機能は、Guice によってサーバー レジストリを構築できるようにすることです。つまり、Guice Injector を Ratpack 登録 として提示できます。これにより、Guice モジュールとバインディングによってアプリケーションの配線が指定されますが、実行時にさまざまな Ratpack 拡張機能間で共通の統合レイヤーとしてレジストリを使用できます。

2.0.0-rc-1 時点の ratpack-guice モジュールは Guice 5.1.0(および マルチバインディング拡張機能)に対して構築されており、それらに依存しています。

1.13 モジュール

Guice はモジュールの概念を提供します。これは、オブジェクトを提供するためのレシピの一種です。詳しくは、Guice の “使用開始” ドキュメントを参照してください。

ratpack-guice ライブラリは、アプリケーションのバインディングを指定するための BindingsSpec タイプを提供します。

2.13 依存関係注入ハンドラー

Guice 統合により、アプリケーションのコンポーネントの結合を解除できます。スタンドアローン(すなわち、Handler 以外)のオブジェクトに機能を分解し、ハンドラーからこれらのオブジェクトを使用できます。これにより、コードの保守性とテストの容易性が向上します。これは、「依存関係注入」または「制御の反転」パターンです。

Guice クラスは、アプリケーションの基盤となるルートハンドラーを作成するための静的な handler() ファクトリーメソッドを提供します。これらのメソッド(一般的に使用されるもの)は、アプリケーションのハンドラーチェーンを構築するために使用できる Chain インスタンスを公開します。これらのメソッドによって公開されたインスタンスは、依存関係注入ハンドラー インスタンスを構築するために使用できるレジストリ(getRegistry() メソッドを介して)を提供します。

コードのサンプルについては、Guice クラスのドキュメントを参照してください。

3.13 Guice とコンテキスト レジストリ

TODO Guice 裏付けのレジストリ実装

これは、依存関係注入ハンドラーの代替手段を提供します。オブジェクトにはコンテキストからオンデマンドで取得できるためです。

より有効なことに、これは、Ratpack インフラストラクチャは Guice モジュール経由で統合できることを意味します。たとえば、ServerErrorHandler の実装は、Guice モジュールによって提供できます。Guice バインドされたオブジェクトは、コンテキストレジストリ検索メカニズムに統合されるため、この実装はエラー処理インフラストラクチャに加わります。

これは、たとえば Renderer の実装など、コンテキストレジストリによる検索で動作するすべての Ratpack インフラストラクチャに当てはまります。