@@ -221,6 +221,8 @@ static class WebMvcAutoConfigurationAdapter implements WebMvcConfigurer, Servlet
221221
222222 private final ObjectProvider <ApiVersionDeprecationHandler > apiVersionDeprecationHandler ;
223223
224+ private final ObjectProvider <WebMvcResourceHandlerRegistryCustomizer > webMvcResourceHandlerRegistryCustomizer ;
225+
224226 WebMvcAutoConfigurationAdapter (WebProperties webProperties , WebMvcProperties mvcProperties ,
225227 ListableBeanFactory beanFactory ,
226228 ObjectProvider <ServerHttpMessageConvertersCustomizer > httpMessageConvertersCustomizerProvider ,
@@ -229,7 +231,8 @@ static class WebMvcAutoConfigurationAdapter implements WebMvcConfigurer, Servlet
229231 ObjectProvider <ServletRegistrationBean <?>> servletRegistrations ,
230232 ObjectProvider <ApiVersionResolver > apiVersionResolvers ,
231233 ObjectProvider <ApiVersionParser <?>> apiVersionParser ,
232- ObjectProvider <ApiVersionDeprecationHandler > apiVersionDeprecationHandler ) {
234+ ObjectProvider <ApiVersionDeprecationHandler > apiVersionDeprecationHandler ,
235+ ObjectProvider <WebMvcResourceHandlerRegistryCustomizer > webMvcResourceHandlerRegistryCustomizer ) {
233236 this .resourceProperties = webProperties .getResources ();
234237 this .mvcProperties = mvcProperties ;
235238 this .beanFactory = beanFactory ;
@@ -240,6 +243,7 @@ static class WebMvcAutoConfigurationAdapter implements WebMvcConfigurer, Servlet
240243 this .apiVersionResolvers = apiVersionResolvers ;
241244 this .apiVersionParser = apiVersionParser ;
242245 this .apiVersionDeprecationHandler = apiVersionDeprecationHandler ;
246+ this .webMvcResourceHandlerRegistryCustomizer = webMvcResourceHandlerRegistryCustomizer ;
243247 }
244248
245249 @ Override
@@ -358,6 +362,8 @@ public void addResourceHandlers(ResourceHandlerRegistry registry) {
358362 logger .debug ("Default resource handling disabled" );
359363 return ;
360364 }
365+ customizeResourceHandlerRegistry (registry );
366+
361367 addResourceHandler (registry , this .mvcProperties .getWebjarsPathPattern (),
362368 "classpath:/META-INF/resources/webjars/" );
363369 addResourceHandler (registry , this .mvcProperties .getStaticPathPattern (), (registration ) -> {
@@ -392,6 +398,12 @@ private void addResourceHandler(ResourceHandlerRegistry registry, String pattern
392398 customizeResourceHandlerRegistration (registration );
393399 }
394400
401+ private void customizeResourceHandlerRegistry (ResourceHandlerRegistry registry ) {
402+ this .webMvcResourceHandlerRegistryCustomizer
403+ .orderedStream ()
404+ .forEach (customizer -> customizer .customize (registry ));
405+ }
406+
395407 @ Contract ("!null -> !null" )
396408 private @ Nullable Integer getSeconds (@ Nullable Duration cachePeriod ) {
397409 return (cachePeriod != null ) ? (int ) cachePeriod .getSeconds () : null ;
0 commit comments