Merge branch '1.5.x' into 2.0.x

This commit is contained in:
Andy Wilkinson 2018-06-20 13:56:55 +01:00
commit e2d6280d83
4 changed files with 35 additions and 2 deletions

View File

@ -695,6 +695,11 @@
<artifactId>logback-classic</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.atomikos</groupId>
<artifactId>transactions-jms</artifactId>

View File

@ -1,5 +1,5 @@
/*
* Copyright 2012-2017 the original author or authors.
* Copyright 2012-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -30,6 +30,7 @@ import org.springframework.boot.web.servlet.context.ServletWebServerApplicationC
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.multipart.support.StandardServletMultipartResolver;
import org.springframework.web.servlet.DispatcherServlet;
@ -62,7 +63,8 @@ public class MultipartAutoConfiguration {
}
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingBean({ MultipartConfigElement.class,
CommonsMultipartResolver.class })
public MultipartConfigElement multipartConfigElement() {
return this.multipartProperties.createMultipartConfig();
}

View File

@ -44,6 +44,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartResolver;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.multipart.support.StandardServletMultipartResolver;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@ -184,6 +185,17 @@ public class MultipartAutoConfigurationTests {
.getBean(MultipartResolver.class);
assertThat(multipartResolver)
.isNotInstanceOf(StandardServletMultipartResolver.class);
assertThat(this.context.getBeansOfType(MultipartConfigElement.class)).hasSize(1);
}
@Test
public void containerWithCommonsMultipartResolver() throws Exception {
this.context = new AnnotationConfigServletWebServerApplicationContext(
ContainerWithCommonsMultipartResolver.class, BaseConfiguration.class);
MultipartResolver multipartResolver = this.context
.getBean(MultipartResolver.class);
assertThat(multipartResolver).isInstanceOf(CommonsMultipartResolver.class);
assertThat(this.context.getBeansOfType(MultipartConfigElement.class)).hasSize(0);
}
@Test
@ -351,6 +363,15 @@ public class MultipartAutoConfigurationTests {
}
public static class ContainerWithCommonsMultipartResolver {
@Bean
CommonsMultipartResolver multipartResolver() {
return mock(CommonsMultipartResolver.class);
}
}
@Controller
public static class WebController {

View File

@ -54,6 +54,11 @@
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>com.nhaarman</groupId>
<artifactId>mockito-kotlin</artifactId>