§GlobalSettings
の削除
依存性注入を使用したい場合は、GlobalSettings
の実装クラスからできるだけ多くのコードを移動することをお勧めします。理想的には、GlobalSettings
クラスを完全に削除できるようにコードをリファクタリングする必要があります。
次に、コードをリファクタリングするためのメソッドごとのガイドを示します。JavaとScalaではAPIがわずかに異なるため、適切なサブセクションにジャンプしてください。
注意: Playの依存性注入についてまだ読んでいない場合は、今すぐ読むことをお勧めします。適切なリンクをクリックして、JavaまたはScalaでのPlayの依存性注入について学んでください。
§Scala
-
GlobalSettings.beforeStart
およびGlobalSettings.onStart
: 起動時に発生する必要があるものはすべて、依存性注入されたクラスのコンストラクターで発生する必要があります。クラスは、依存性注入フレームワークがロードするときに初期化を実行します。Eagerな初期化が必要な場合(アプリケーションが実際に開始される前に一部のコードを実行する必要があるため)、Eagerなバインディングを定義します。 -
GlobalSettings.onStop
: ストップフックを登録する必要があるクラスにApplicationLifecycle
への依存関係を追加します。次に、GlobalSettings.onStop
メソッドの実装を、ApplicationLifecycle.addStopHook
に渡されるFuture
の中に移動します。詳細については、停止/クリーンアップをお読みください。 -
GlobalSettings.onError
:HttpErrorHandler
を継承するクラスを作成し、GlobalSettings.onError
の実装をHttpErrorHandler.onServerError
メソッドの中に移動します。詳細については、エラー処理をお読みください。 -
GlobalSettings.onRequestReceived
:HttpRequestHandler
を継承するクラスを作成し、GlobalSettings.onRequestReceived
の実装をHttpRequestHandler.handlerForRequest
メソッドの中に移動します。詳細については、リクエストハンドラーをお読みください。GlobalSettings.onRequestReceived
の実装でsuper.onRequestReceived
を呼び出している場合は、HttpRequestHandler
の代わりにDefaultHttpRequestHandler
を継承し、super.onRequestReceived
へのすべての呼び出しをsuper.handlerForRequest
に置き換える必要があることに注意してください。 -
GlobalSettings.onRouteRequest
:DefaultHttpRequestHandler
を継承するクラスを作成し、GlobalSettings.onRouteRequest
メソッドの実装をDefaultHttpRequestHandler.routeRequest
メソッドの中に移動します。詳細については、リクエストハンドラーをお読みください。 -
GlobalSettings.onRequestCompletion
: このメソッドは非推奨であり、Playによって呼び出されなくなりました。代わりに、返されたEnumerator
の結果にonDoneEnumerating
コールバックをアタッチするカスタムフィルターを作成します。HTTPフィルターの作成方法の詳細については、Scala HTTPフィルターをお読みください。 -
GlobalSettings.onHandlerNotFound
:HttpErrorHandler
を継承するクラスを作成し、HttpErrorHandler.onClientError
の実装を提供します。詳細については、エラー処理をお読みください。HttpErrorHandler.onClientError
は引数にstatusCode
を取るため、実装は以下のようになるはずです。
if(statusCode == play.api.http.Status.NOT_FOUND) {
// move your implementation of `GlobalSettings.onHandlerNotFound` here
}
GlobalSettings.onBadRequest
:HttpErrorHandler
を継承するクラスを作成し、HttpErrorHandler.onClientError
の実装を提供します。詳細については、エラー処理をお読みください。HttpErrorHandler.onClientError
は引数にstatusCode
を取るため、実装は以下のようになるはずです。
if(statusCode == play.api.http.Status.BAD_REQUEST) {
// move your implementation of `GlobalSettings.onBadRequest` here
}
-
GlobalSettings.configure
およびGlobalSettings.onLoadConfig
: 設定ファイルですべての設定を指定するか、独自のApplicationLoaderを作成します(GuiceApplicationBuilder.loadConfigを参照)。 -
GlobalSettings.doFilter
:HttpFilters
を継承するクラスを作成し、HttpFilter.filters
の実装を提供します。詳細については、HTTPフィルターをお読みください。
また、Global
クラスがWithFilters
トレイトをミックスしている場合は、HttpFilters
を継承するFilterクラスを作成し、空のパッケージに配置する必要があります。詳細については、こちらをお読みください。
§Java
-
GlobalSettings.beforeStart
およびGlobalSettings.onStart
: 起動時に発生する必要があるものはすべて、依存性注入されたクラスのコンストラクターで発生する必要があります。クラスは、依存性注入フレームワークがロードするときに初期化を実行します。Eagerな初期化が必要な場合(たとえば、アプリケーションが実際に開始される前に一部のコードを実行する必要があるため)、Eagerなバインディングを定義します。 -
GlobalSettings.onStop
: ストップフックを登録する必要があるクラスにApplicationLifecycle
への依存関係を追加します。次に、GlobalSettings.onStop
メソッドの実装を、ApplicationLifecycle.addStopHook
に渡されるPromise
の中に移動します。詳細については、停止/クリーンアップをお読みください。 -
GlobalSettings.onError
:HttpErrorHandler
を継承するクラスを作成し、GlobalSettings.onError
の実装をHttpErrorHandler.onServerError
メソッドの中に移動します。詳細については、エラー処理をお読みください。 -
GlobalSettings.onRequest
:DefaultHttpRequestHandler
を継承するクラスを作成し、GlobalSettings.onRequest
メソッドの実装をDefaultHttpRequestHandler.createAction
メソッドの中に移動します。詳細については、リクエストハンドラーをお読みください。 -
GlobalSettings.onRouteRequest
: Java APIを使用する場合、このメソッドの簡単な移行はありません。これが必要な場合は、Globalクラスをしばらくの間保持する必要があります。 -
GlobalSettings.onHandlerNotFound
:HttpErrorHandler
を継承するクラスを作成し、HttpErrorHandler.onClientError
の実装を提供します。詳細については、エラー処理をお読みください。HttpErrorHandler.onClientError
は引数にstatusCode
を取るため、実装は以下のようになるはずです。
if(statusCode == play.mvc.Http.Status.NOT_FOUND) {
// move your implementation of `GlobalSettings.onHandlerNotFound` here
}
GlobalSettings.onBadRequest
:HttpErrorHandler
を継承するクラスを作成し、HttpErrorHandler.onClientError
の実装を提供します。詳細については、エラー処理をお読みください。HttpErrorHandler.onClientError
は引数にstatusCode
を取るため、実装は以下のようになるはずです。
if(statusCode == play.mvc.Http.Status.BAD_REQUEST) {
// move your implementation of `GlobalSettings.onBadRequest` here
}
-
GlobalSettings.onLoadConfig
: 設定ファイルですべての設定を指定するか、独自のApplicationLoaderを作成します(GuiceApplicationBuilder.loadConfigを参照)。 -
GlobalSettings.filters
:HttpFilters
を継承するクラスを作成し、HttpFilter.filters
の実装を提供します。詳細については、HTTPフィルターをお読みください。
次へ: Anormの移行
このドキュメントにエラーを見つけましたか?このページのソースコードはこちらにあります。ドキュメントのガイドラインを読んだ後、プルリクエストを自由に投稿してください。質問や共有するアドバイスはありますか?コミュニティフォーラムにアクセスして、コミュニティと会話を始めましょう。