diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupport.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupport.java index 915e0eacf86e5fd8a85d4c7ee10b62ab921454c1..e75f0632169b96493cd9beeda8c14487c743e67b 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupport.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/WebMvcConfigurationSupport.java @@ -17,6 +17,7 @@ package org.springframework.web.servlet.config.annotation; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -321,8 +322,11 @@ public class WebMvcConfigurationSupport implements ApplicationContextAware, Serv */ @Bean public ResourceUrlGenerator resourceUrlGenerator() { - SimpleUrlHandlerMapping hm = (SimpleUrlHandlerMapping) resourceHandlerMapping(); - return new ResourceUrlGenerator(hm.getUrlMap()); + Map handlerMap = Collections.emptyMap(); + if (resourceHandlerMapping() instanceof SimpleUrlHandlerMapping) { + handlerMap = ((SimpleUrlHandlerMapping) resourceHandlerMapping()).getUrlMap(); + } + return new ResourceUrlGenerator(handlerMap); } /** diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlFilterTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlFilterTests.java index 6fce5731419e0246316340c5ba4d1accdd917408..060b2351585bde1fedbf8a1d1b7c14fa116e68ec 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlFilterTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceUrlFilterTests.java @@ -17,7 +17,6 @@ package org.springframework.web.servlet.resource; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import javax.servlet.ServletException; @@ -26,7 +25,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.junit.Test; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.mock.web.test.MockFilterChain; import org.springframework.mock.web.test.MockHttpServletRequest; @@ -36,7 +34,6 @@ import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; -import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping; import static org.junit.Assert.*; @@ -120,6 +117,7 @@ public class ResourceUrlFilterTests { @Configuration static class WebConfig extends WebMvcConfigurationSupport { + @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { @@ -131,14 +129,6 @@ public class ResourceUrlFilterTests { .addResourceLocations("classpath:org/springframework/web/servlet/resource/test/") .setResourceResolvers(resourceResolvers); } - - @Bean - public ResourceUrlGenerator resourceUrlGenerator() { - ResourceUrlGenerator generator = new ResourceUrlGenerator(); - SimpleUrlHandlerMapping handlerMapping = (SimpleUrlHandlerMapping) resourceHandlerMapping(); - generator.setResourceHandlerMappings(Collections.singletonList(handlerMapping)); - return generator; - } } private static class TestServlet extends HttpServlet {