Allow custom RequestMappingHandlerMapping

Extract the creation of RequestMappingHandlerMapping into protected
method to allow easier use of custom subclasses.

Issue: SPR-12746
master
Ryan Skow 10 years ago committed by Rossen Stoyanchev
parent 4ca32d1ce5
commit 500179e5c0
  1. 12
      spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupport.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2002-2014 the original author or authors. * Copyright 2002-2015 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -223,7 +223,7 @@ public class WebMvcConfigurationSupport implements ApplicationContextAware, Serv
*/ */
@Bean @Bean
public RequestMappingHandlerMapping requestMappingHandlerMapping() { public RequestMappingHandlerMapping requestMappingHandlerMapping() {
RequestMappingHandlerMapping handlerMapping = new RequestMappingHandlerMapping(); RequestMappingHandlerMapping handlerMapping = createRequestMappingHandlerMapping();
handlerMapping.setOrder(0); handlerMapping.setOrder(0);
handlerMapping.setInterceptors(getInterceptors()); handlerMapping.setInterceptors(getInterceptors());
handlerMapping.setContentNegotiationManager(mvcContentNegotiationManager()); handlerMapping.setContentNegotiationManager(mvcContentNegotiationManager());
@ -248,6 +248,14 @@ public class WebMvcConfigurationSupport implements ApplicationContextAware, Serv
return handlerMapping; return handlerMapping;
} }
/**
* Protected method for plugging in a custom sub-class of
* {@link RequestMappingHandlerMapping}.
*/
protected RequestMappingHandlerMapping createRequestMappingHandlerMapping() {
return new RequestMappingHandlerMapping();
}
/** /**
* Provide access to the shared handler interceptors used to configure * Provide access to the shared handler interceptors used to configure
* {@link HandlerMapping} instances with. This method cannot be overridden, * {@link HandlerMapping} instances with. This method cannot be overridden,

Loading…
Cancel
Save