public class WebMvcConfigurationSupport extends ObjectSE implements ApplicationContextAware, ServletContextAware
@Configuration
クラスに @EnableWebMvc
を追加することでインポートされます。代替のより高度なオプションは、このクラスから直接拡張し、必要に応じてメソッドをオーバーライドし、@Configuration
をサブクラスに追加し、@Bean
をオーバーライドされた @Bean
メソッドに忘れないようにすることです。詳細については、@EnableWebMvc
の javadoc を参照してください。 このクラスは、次の HandlerMappings
を登録します。
RequestMappingHandlerMapping
は、アノテーション付きコントローラーメソッドへのリクエストをマッピングするために 0 で順序付けされます。HandlerMapping
は、URL パスをビュー名に直接マップするために 1 で順序付けされます。BeanNameUrlHandlerMapping
は、URL パスをコントローラー Bean 名にマップするために 2 で順序付けされます。Integer.MAX_VALUE-1
で順序付けされた HandlerMapping
。Integer.MAX_VALUE
で順序付けされた HandlerMapping
。 これらの HandlerAdapters
を登録します。
RequestMappingHandlerAdapter
。HttpRequestHandlers
でリクエストを処理するための HttpRequestHandlerAdapter
Controllers
でリクエストを処理するための SimpleControllerHandlerAdapter
。 例外リゾルバーのこのチェーンに HandlerExceptionResolverComposite
を登録します。
ExceptionHandler
メソッドを介して例外を処理するための ExceptionHandlerExceptionResolver
。ResponseStatus
でアノテーションされた例外の場合は ResponseStatusExceptionResolver
。DefaultHandlerExceptionResolver
以下によって使用される AntPathMatcher
および UrlPathHelper
を登録します。
RequestMappingHandlerMapping
HandlerMapping
HandlerMapping
PathMatchConfigurer
で構成できることに注意してください。RequestMappingHandlerAdapter
と ExceptionHandlerExceptionResolver
の両方は、デフォルトで以下のデフォルトインスタンスで構成されています。
ContentNegotiationManager
DefaultFormattingConversionService
OptionalValidatorFactoryBean
HttpMessageConverters
の範囲。EnableWebMvc
, WebMvcConfigurer
コンストラクターと説明 |
---|
WebMvcConfigurationSupport() |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setApplicationContext(@Nullable ApplicationContext applicationContext)
ApplicationContext
を設定します。リソース読み込み用。ApplicationContextAware
の setApplicationContext
applicationContext
- このオブジェクトによって使用される ApplicationContext オブジェクト BeanInitializationException
@Nullable public final ApplicationContext getApplicationContext()
ApplicationContext
を返します。public void setServletContext(@Nullable ServletContextEE servletContext)
ServletContext
EE を設定します。リソースの処理、ファイル拡張子の検索など。ServletContextAware
の setServletContext
servletContext
- このオブジェクトによって使用される ServletContext オブジェクト InitializingBean.afterPropertiesSet()
, ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)
@Nullable public final ServletContextEE getServletContext()
ServletContext
EE を返します。@Bean public RequestMappingHandlerMapping requestMappingHandlerMapping()
RequestMappingHandlerMapping
を返します。protected RequestMappingHandlerMapping createRequestMappingHandlerMapping()
RequestMappingHandlerMapping
のカスタムサブクラスにプラグインするための protected メソッド。protected final ObjectSE[] getInterceptors()
HandlerMapping
インスタンスの構成に使用される共有ハンドラーインターセプターへのアクセスを提供します。 このメソッドはオーバーライドできません。代わりに addInterceptors(org.springframework.web.servlet.config.annotation.InterceptorRegistry)
を使用してください。
protected void addInterceptors(InterceptorRegistry registry)
InterceptorRegistry
protected PathMatchConfigurer getPathMatchConfigurer()
PathMatchConfigurer
をビルドするためのコールバック。configurePathMatch(org.springframework.web.servlet.config.annotation.PathMatchConfigurer)
へのデリゲート。protected void configurePathMatch(PathMatchConfigurer configurer)
PathMatchConfigurer
@Bean public PathMatcher mvcPathMatcher()
HandlerMappings
のパスマッチングパターンのグローバル PathMatcher
インスタンスを返します。このインスタンスは、configurePathMatch(PathMatchConfigurer)
の PathMatchConfigurer
を使用して構成できます。@Bean public UrlPathHelper mvcUrlPathHelper()
HandlerMappings
のパスマッチングパターンのグローバル UrlPathHelper
インスタンスを返します。このインスタンスは、configurePathMatch(PathMatchConfigurer)
の PathMatchConfigurer
を使用して構成できます。@Bean public ContentNegotiationManager mvcContentNegotiationManager()
ContentNegotiationManager
インスタンスを返します。protected void configureContentNegotiation(ContentNegotiationConfigurer configurer)
@Bean @Nullable public HandlerMapping viewControllerHandlerMapping()
addViewControllers(org.springframework.web.servlet.config.annotation.ViewControllerRegistry)
をオーバーライドします。protected void addViewControllers(ViewControllerRegistry registry)
@Bean public BeanNameUrlHandlerMapping beanNameHandlerMapping()
BeanNameUrlHandlerMapping
を返します。@Bean @Nullable public HandlerMapping resourceHandlerMapping()
addResourceHandlers(org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry)
をオーバーライドします。protected void addResourceHandlers(ResourceHandlerRegistry registry)
@Bean public ResourceUrlProvider mvcResourceUrlProvider()
ResourceUrlProvider
Bean。@Bean @Nullable public HandlerMapping defaultServletHandlerMapping()
configureDefaultServletHandling(org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer)
をオーバーライドします。protected void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer)
@Bean public RequestMappingHandlerAdapter requestMappingHandlerAdapter()
RequestMappingHandlerAdapter
を返します。これらの他のよりきめの細かいメソッドの 1 つをオーバーライドすることを検討してください。addArgumentResolvers(java.util.List<org.springframework.web.method.support.HandlerMethodArgumentResolver>)
。addReturnValueHandlers(java.util.List<org.springframework.web.method.support.HandlerMethodReturnValueHandler>)
。configureMessageConverters(java.util.List<org.springframework.http.converter.HttpMessageConverter<?>>)
。protected RequestMappingHandlerAdapter createRequestMappingHandlerAdapter()
RequestMappingHandlerAdapter
のカスタムサブクラスにプラグインするための protected メソッド。protected ConfigurableWebBindingInitializer getConfigurableWebBindingInitializer()
WebDataBinder
インスタンスの初期化に使用する ConfigurableWebBindingInitializer
を返します。@Nullable protected MessageCodesResolver getMessageCodesResolver()
MessageCodesResolver
を提供します。protected void configureAsyncSupport(AsyncSupportConfigurer configurer)
@Bean public FormattingConversionService mvcConversionService()
FormattingConversionService
を返します。 このメソッドをオーバーライドする代わりの方法として addFormatters(org.springframework.format.FormatterRegistry)
を参照してください。
protected void addFormatters(FormatterRegistry registry)
@Bean public Validator mvcValidator()
@ModelAttribute
および @RequestBody
メソッドの引数を検証するために、グローバル Validator
インスタンスを返します。最初に getValidator()
にデリゲートし、それが null
を返す場合、OptionalValidatorFactoryBean
を作成する前にクラスパスで JSR-303 実装が存在するかどうかを確認します。JSR-303 実装が使用できない場合は、no-op Validator
が返されます。protected final ListSE<HandlerMethodArgumentResolver> getArgumentResolvers()
RequestMappingHandlerAdapter
および ExceptionHandlerExceptionResolver
が使用する共有カスタム引数リゾルバーへのアクセスを提供します。 このメソッドはオーバーライドできません。代わりに addArgumentResolvers(java.util.List<org.springframework.web.method.support.HandlerMethodArgumentResolver>)
を使用してください。
protected void addArgumentResolvers(ListSE<HandlerMethodArgumentResolver> argumentResolvers)
HandlerMethodArgumentResolvers
を追加します。 カスタム引数リゾルバーは、アノテーションの存在に依存するもの(@RequestParameter
、@PathVariable
など)を除いて、組み込みのリゾルバーの前に呼び出されます。後者は、RequestMappingHandlerAdapter
を直接構成することでカスタマイズできます。
argumentResolvers
- カスタムコンバーターのリスト (最初は空のリスト)protected final ListSE<HandlerMethodReturnValueHandler> getReturnValueHandlers()
RequestMappingHandlerAdapter
および ExceptionHandlerExceptionResolver
で使用される共有戻り値ハンドラーへのアクセスを提供します。 このメソッドはオーバーライドできません。代わりに addReturnValueHandlers(java.util.List<org.springframework.web.method.support.HandlerMethodReturnValueHandler>)
を使用してください。
protected void addReturnValueHandlers(ListSE<HandlerMethodReturnValueHandler> returnValueHandlers)
HandlerMethodReturnValueHandlers
を追加します。 カスタム戻り値ハンドラーは、アノテーションの存在に依存するハンドラー(@ResponseBody
、@ModelAttribute
など)を除いて、組み込みハンドラーの前に呼び出されます。後者は、RequestMappingHandlerAdapter
を直接構成することでカスタマイズできます。
returnValueHandlers
- カスタムハンドラーのリスト (最初は空のリスト)protected final ListSE<HttpMessageConverter<?>> getMessageConverters()
RequestMappingHandlerAdapter
および ExceptionHandlerExceptionResolver
が使用する共有 HttpMessageConverters
へのアクセスを提供します。 このメソッドはオーバーライドできません。代わりに configureMessageConverters(java.util.List<org.springframework.http.converter.HttpMessageConverter<?>>)
を使用してください。デフォルトのメッセージコンバーターの追加については、addDefaultHttpMessageConverters(java.util.List<org.springframework.http.converter.HttpMessageConverter<?>>)
も参照してください。
protected void configureMessageConverters(ListSE<HttpMessageConverter<?>> converters)
RequestMappingHandlerAdapter
および ExceptionHandlerExceptionResolver
で使用するカスタム HttpMessageConverters
を追加するには、このメソッドをオーバーライドします。 リストにコンバーターを追加すると、デフォルトで登録されるデフォルトのコンバーターがオフになります。デフォルトのメッセージコンバーターの追加については、addDefaultHttpMessageConverters(java.util.List<org.springframework.http.converter.HttpMessageConverter<?>>)
も参照してください。
converters
- メッセージコンバーターを追加するリスト (最初は空のリスト)protected void extendMessageConverters(ListSE<HttpMessageConverter<?>> converters)
converters
- 拡張する構成済みコンバーターのリスト protected final void addDefaultHttpMessageConverters(ListSE<HttpMessageConverter<?>> messageConverters)
configureMessageConverters(java.util.List<org.springframework.http.converter.HttpMessageConverter<?>>)
からこのメソッドを呼び出すことができます。messageConverters
- デフォルトのメッセージコンバーターを追加するリスト @Bean public CompositeUriComponentsContributor mvcUriComponentsContributor()
MvcUriComponentsBuilder
で使用するために CompositeUriComponentsContributor
のインスタンスを返します。@Bean public HttpRequestHandlerAdapter httpRequestHandlerAdapter()
HttpRequestHandlers
でリクエストを処理するために HttpRequestHandlerAdapter
を返します。@Bean public SimpleControllerHandlerAdapter simpleControllerHandlerAdapter()
SimpleControllerHandlerAdapter
を返します。@Bean public HandlerExceptionResolver handlerExceptionResolver()
configureHandlerExceptionResolvers(java.util.List<org.springframework.web.servlet.HandlerExceptionResolver>)
または addDefaultHandlerExceptionResolvers(java.util.List<org.springframework.web.servlet.HandlerExceptionResolver>)
のいずれかで取得した例外リゾルバーのリストを含む HandlerExceptionResolverComposite
を返します。 注意 : この方法は、CGLIB の制約により、最終的にすることはできません。それをオーバーライドするのではなく、リゾルバーのリストを提供できる configureHandlerExceptionResolvers(java.util.List<org.springframework.web.servlet.HandlerExceptionResolver>)
をオーバーライドすることを検討してください。
protected void configureHandlerExceptionResolvers(ListSE<HandlerExceptionResolver> exceptionResolvers)
HandlerExceptionResolvers
のリストを構成するには、このメソッドをオーバーライドします。 リストにリゾルバーを追加すると、デフォルトで登録されるデフォルトのリゾルバーがオフになります。デフォルトの例外リゾルバーを追加するために使用できる addDefaultHandlerExceptionResolvers(java.util.List<org.springframework.web.servlet.HandlerExceptionResolver>)
も参照してください。
exceptionResolvers
- 例外リゾルバーを追加するリスト (最初は空のリスト)protected void extendHandlerExceptionResolvers(ListSE<HandlerExceptionResolver> exceptionResolvers)
HandlerExceptionResolvers
の構成後にリストを継承または変更するには、このメソッドをオーバーライドします。これは、たとえば、デフォルトのリゾルバーを登録し、このメソッドを介してカスタムのリゾルバーを挿入できるようにする場合に便利です。
exceptionResolvers
- 拡張する構成済みリゾルバーのリスト。protected final void addDefaultHandlerExceptionResolvers(ListSE<HandlerExceptionResolver> exceptionResolvers)
HandlerExceptionResolvers
を追加するためにサブクラスで使用できるメソッド。次の例外リゾルバーを追加します。
ExceptionHandler
メソッドを介して例外を処理するための ExceptionHandlerExceptionResolver
。ResponseStatus
でアノテーションされた例外の場合は ResponseStatusExceptionResolver
。DefaultHandlerExceptionResolver
protected ExceptionHandlerExceptionResolver createExceptionHandlerExceptionResolver()
ExceptionHandlerExceptionResolver
のカスタムサブクラスにプラグインするための protected メソッド。@Bean public ViewResolver mvcViewResolver()
ViewResolverComposite
を登録します。デフォルトでは、コンテンツネゴシエーションビューの解決が使用されない限り、このリゾルバーは 0 で順序付けされます。この場合、順序は Ordered.HIGHEST_PRECEDENCE
に上げられます。 他のリゾルバーが構成されていない場合、他の潜在的な ViewResolver
Bean がビューを解決できるようにするために、ViewResolverComposite.resolveViewName(String, Locale)
は null を返します。
protected void configureViewResolvers(ViewResolverRegistry registry)
ViewResolverRegistry
protected final MapSE<StringSE,CorsConfiguration> getCorsConfigurations()
CorsConfiguration
オブジェクトを返します。protected void addCorsMappings(CorsRegistry registry)
CorsRegistry
@Bean @Lazy public HandlerMappingIntrospector mvcHandlerMappingIntrospector()