クラス DispatcherHandler
- 実装されているすべてのインターフェース:
Aware、ApplicationContextAware、PreFlightRequestHandler、WebHandler
DispatcherHandler は、Spring 構成から必要なデリゲートコンポーネントを検出します。アプリケーションコンテキストで次を検出します。
HandlerMapping-- リクエストをハンドラーオブジェクトにマップするHandlerAdapter-- 任意のハンドラーインターフェースを使用するためHandlerResultHandler-- プロセスハンドラーの戻り値
DispatcherHandler は、それ自体が Spring Bean となるように設計されており、実行されるコンテキストにアクセスするために ApplicationContextAware を実装しています。DispatcherHandler が "webHandler" という名前の Bean として宣言されている場合、WebHttpHandlerBuilder.applicationContext(ApplicationContext) によって検出され、WebFilter、WebExceptionHandler などとともに処理 チェーンがまとめられます。
@EnableWebFlux 構成には、DispatcherHandler Bean 宣言が含まれています。
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Sebastien Deleuze, Juergen Hoeller
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明ApplicationContextからsetApplicationContext(org.springframework.context.ApplicationContext)で構成する必要がある新しいDispatcherHandlerを作成します。DispatcherHandler(ApplicationContext applicationContext) 指定されたApplicationContextの新しいDispatcherHandlerを作成します。メソッドのサマリー
修飾子と型メソッド説明final ListSE<HandlerMapping>reactor.core.publisher.Mono<VoidSE>handle(ServerWebExchange exchange) Web サーバー交換を処理します。reactor.core.publisher.Mono<VoidSE>handlePreFlight(ServerWebExchange exchange) 予想される実際のリクエストに一致する CORS 設定を見つけて適用することにより、フライト前のリクエストを処理します。protected voidinitStrategies(ApplicationContext context) voidsetApplicationContext(ApplicationContext applicationContext) このオブジェクトが実行される ApplicationContext を設定します。
コンストラクターの詳細
DispatcherHandler
public DispatcherHandler()ApplicationContextからsetApplicationContext(org.springframework.context.ApplicationContext)で構成する必要がある新しいDispatcherHandlerを作成します。DispatcherHandler
指定されたApplicationContextの新しいDispatcherHandlerを作成します。- パラメーター:
applicationContext- ハンドラー Bean を見つけるためのアプリケーションコンテキスト
メソッドの詳細
getHandlerMappings
injected contextおよびsortedの型によって検出されたすべてのHandlerMappingBean を返します。注意 :
setApplicationContext(ApplicationContext)の前に呼び出された場合、このメソッドはnullを返すことがあります。- 戻り値:
- 構成されたマッピングまたは
nullを含む不変リスト
setApplicationContext
インターフェースからコピーされた説明:ApplicationContextAwareこのオブジェクトが実行される ApplicationContext を設定します。通常、この呼び出しはオブジェクトの初期化に使用されます。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()またはカスタム init メソッドなどの init コールバックの前に呼び出されます。ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)、ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)およびMessageSourceAwareの後に呼び出されます(該当する場合)。- 次で指定:
- インターフェース
ApplicationContextAwareのsetApplicationContext - パラメーター:
applicationContext- このオブジェクトによって使用される ApplicationContext オブジェクト- 関連事項:
initStrategies
handle
インターフェースからコピーされた説明:WebHandlerWeb サーバー交換を処理します。- 次で指定:
- インターフェース
WebHandlerのhandle - パラメーター:
exchange- 現在のサーバー交換- 戻り値:
- リクエスト処理が完了したことを示す
Mono<Void>
handlePreFlight
インターフェースからコピーされた説明:PreFlightRequestHandler予想される実際のリクエストに一致する CORS 設定を見つけて適用することにより、フライト前のリクエストを処理します。処理の結果、レスポンスは CORS ヘッダーで更新するか、HttpStatus.FORBIDDENで拒否する必要があります。- 次で指定:
- インターフェース
PreFlightRequestHandlerのhandlePreFlight - パラメーター:
exchange- リクエストの交換- 戻り値:
- 完了ハンドル