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 e75f063216..915e0eacf8 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,7 +17,6 @@ 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; @@ -322,11 +321,8 @@ public class WebMvcConfigurationSupport implements ApplicationContextAware, Serv */ @Bean public ResourceUrlGenerator resourceUrlGenerator() { - Map handlerMap = Collections.emptyMap(); - if (resourceHandlerMapping() instanceof SimpleUrlHandlerMapping) { - handlerMap = ((SimpleUrlHandlerMapping) resourceHandlerMapping()).getUrlMap(); - } - return new ResourceUrlGenerator(handlerMap); + SimpleUrlHandlerMapping hm = (SimpleUrlHandlerMapping) resourceHandlerMapping(); + return new ResourceUrlGenerator(hm.getUrlMap()); } /** 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 060b235158..6fce573141 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,6 +17,7 @@ package org.springframework.web.servlet.resource; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import javax.servlet.ServletException; @@ -25,6 +26,7 @@ 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; @@ -34,6 +36,7 @@ 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.*; @@ -117,7 +120,6 @@ public class ResourceUrlFilterTests { @Configuration static class WebConfig extends WebMvcConfigurationSupport { - @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { @@ -129,6 +131,14 @@ 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 {