diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistration.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistration.java index 38daf414622..11395bb8de9 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistration.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistration.java @@ -17,6 +17,7 @@ package org.springframework.web.servlet.config.annotation; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.springframework.core.io.Resource; @@ -82,8 +83,8 @@ public class ResourceHandlerRegistration { * is recommended to add {@link PathResourceResolver} as the last resolver. * @since 4.1 */ - public void setResourceResolvers(List resourceResolvers) { - this.resourceResolvers = resourceResolvers; + public void setResourceResolvers(ResourceResolver... resourceResolvers) { + this.resourceResolvers = Arrays.asList(resourceResolvers); } /** diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistry.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistry.java index b56e591df23..16b5b5e5315 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistry.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistry.java @@ -107,8 +107,8 @@ public class ResourceHandlerRegistry { * Configure the {@link ResourceResolver}s to use by default in resource handlers that * don't have them set. */ - public void setResourceResolvers(List resourceResolvers) { - this.resourceResolvers = resourceResolvers; + public void setResourceResolvers(ResourceResolver... resourceResolvers) { + this.resourceResolvers = Arrays.asList(resourceResolvers); } /** @@ -120,11 +120,11 @@ public class ResourceHandlerRegistry { } Map urlMap = new LinkedHashMap(); - for (ResourceHandlerRegistration registration : registrations) { + for (ResourceHandlerRegistration registration : this.registrations) { for (String pathPattern : registration.getPathPatterns()) { ResourceHttpRequestHandler handler = registration.getRequestHandler(); - handler.setServletContext(servletContext); - handler.setApplicationContext(applicationContext); + handler.setServletContext(this.servletContext); + handler.setApplicationContext(this.applicationContext); if ((this.resourceResolvers != null) && (registration.getResourceResolvers() == null)) { handler.setResourceResolvers(this.resourceResolvers); } diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java index 552261f37e5..71ed390a3cc 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java @@ -17,7 +17,6 @@ package org.springframework.web.servlet.config.annotation; import java.util.Arrays; -import java.util.List; import org.junit.Before; import org.junit.Test; @@ -97,13 +96,12 @@ public class ResourceHandlerRegistryTests { @Test public void resourceResolversAndTransformers() { ResourceResolver resolver = Mockito.mock(ResourceResolver.class); - List resolvers = Arrays.asList(resolver); - registry.setResourceResolvers(resolvers); + registry.setResourceResolvers(resolver); SimpleUrlHandlerMapping hm = (SimpleUrlHandlerMapping) registry.getHandlerMapping(); ResourceHttpRequestHandler handler = (ResourceHttpRequestHandler) hm.getUrlMap().values().iterator().next(); - assertEquals(resolvers, handler.getResourceResolvers()); + assertEquals(Arrays.asList(resolver), handler.getResourceResolvers()); } private ResourceHttpRequestHandler getHandler(String pathPattern) { diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/PublicResourceUrlProviderJavaConfigTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/PublicResourceUrlProviderJavaConfigTests.java index a8dde6c88f7..fcd21f80500 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/PublicResourceUrlProviderJavaConfigTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/PublicResourceUrlProviderJavaConfigTests.java @@ -16,9 +16,6 @@ package org.springframework.web.servlet.resource; -import java.util.ArrayList; -import java.util.List; - import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -114,14 +111,9 @@ public class PublicResourceUrlProviderJavaConfigTests { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { - - List resourceResolvers = new ArrayList<>(); - resourceResolvers.add(new FingerprintResourceResolver()); - resourceResolvers.add(new PathResourceResolver()); - registry.addResourceHandler("/resources/**") .addResourceLocations("classpath:org/springframework/web/servlet/resource/test/") - .setResourceResolvers(resourceResolvers); + .setResourceResolvers(new FingerprintResourceResolver(), new PathResourceResolver()); } }