public class DispatcherHandler extends Object implements WebHandler, ApplicationContextAware
It can use any HandlerMapping
implementation to control the routing of
requests to handler objects. HandlerMapping objects can be defined as beans in
the application context.
It can use any HandlerAdapter
; this allows for using any handler interface.
HandlerAdapter objects can be added as beans in the application context.
It can use any HandlerResultHandler
; this allows to process the result of
the request handling. HandlerResultHandler objects can be added as beans in the
application context.
Constructor and Description |
---|
DispatcherHandler()
Create a new
DispatcherHandler which needs to be configured with
an ApplicationContext through setApplicationContext(org.springframework.context.ApplicationContext) . |
DispatcherHandler(ApplicationContext applicationContext)
Create a new
DispatcherHandler for the given ApplicationContext . |
Modifier and Type | Method and Description |
---|---|
reactor.core.publisher.Mono<Void> |
handle(ServerWebExchange exchange)
Handle the web server exchange.
|
protected void |
initStrategies(ApplicationContext context) |
void |
setApplicationContext(ApplicationContext applicationContext)
Set the ApplicationContext that this object runs in.
|
static HttpHandler |
toHttpHandler(ApplicationContext applicationContext)
Expose a dispatcher-based
HttpHandler for the given application context,
typically for direct registration with an engine adapter such as
ServletHttpHandlerAdapter . |
static WebHandler |
toWebHandler(ApplicationContext applicationContext)
Expose a dispatcher-based
WebHandler for the given application context,
typically for further configuration with filters and exception handlers through
a WebHttpHandlerBuilder . |
public DispatcherHandler()
DispatcherHandler
which needs to be configured with
an ApplicationContext
through setApplicationContext(org.springframework.context.ApplicationContext)
.public DispatcherHandler(ApplicationContext applicationContext)
DispatcherHandler
for the given ApplicationContext
.applicationContext
- the application context to find the handler beans inpublic void setApplicationContext(ApplicationContext applicationContext)
ApplicationContextAware
Invoked after population of normal bean properties but before an init callback such
as InitializingBean.afterPropertiesSet()
or a custom init-method. Invoked after ResourceLoaderAware.setResourceLoader(org.springframework.core.io.ResourceLoader)
,
ApplicationEventPublisherAware.setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher)
and
MessageSourceAware
, if applicable.
setApplicationContext
in interface ApplicationContextAware
applicationContext
- the ApplicationContext object to be used by this objectBeanInitializationException
protected void initStrategies(ApplicationContext context)
public reactor.core.publisher.Mono<Void> handle(ServerWebExchange exchange)
WebHandler
handle
in interface WebHandler
exchange
- the current server exchangeMono<Void>
to indicate when request handling is completepublic static WebHandler toWebHandler(ApplicationContext applicationContext)
WebHandler
for the given application context,
typically for further configuration with filters and exception handlers through
a WebHttpHandlerBuilder
.applicationContext
- the application context to find the handler beans inDispatcherHandler(ApplicationContext)
,
WebHttpHandlerBuilder.webHandler(org.springframework.web.server.WebHandler)
public static HttpHandler toHttpHandler(ApplicationContext applicationContext)
HttpHandler
for the given application context,
typically for direct registration with an engine adapter such as
ServletHttpHandlerAdapter
.applicationContext
- the application context to find the handler beans inDispatcherHandler(ApplicationContext)
,
HttpWebHandlerAdapter
,
ServletHttpHandlerAdapter
,
ReactorHttpHandlerAdapter
,
RxNettyHttpHandlerAdapter
,
UndertowHttpHandlerAdapter