Printemps 4 Java Config pour MultipartResolver pour Servlet 3.0

Je vais prendre un Java approche de Spring MVC de configuration et ne peut pas comprendre comment associer un MultipartConfigElement avec mon DispatcherServlet par programmation.

Printemps états de documentation:

Afin d'utiliser Servlet 3.0 basée sur plusieurs parties de l'analyse, vous devez marquer
la DispatcherServlet avec un "multipart-config" dans la section web.xml ou
avec un javax.servlet.MultipartConfigElement dans la programmation de la Servlet
l'enregistrement...

http://docs.spring.io/spring/docs/4.0.4.RELEASE/spring-framework-reference/htmlsingle/#mvc-multipart

Voici mon WebApplicationInitializer code:

public class DispatcherServletInitializer implements WebApplicationInitializer {

    private static final Logger logger = LoggerFactory.getLogger(DispatcherServletInitializer.class);

    @Override
    public void onStartup(ServletContext container) {

        //Create the 'root' Spring application context
        AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
        rootContext.register(AppConfig.class);

        //Manage the lifecycle of the root application context
        container.addListener(new ContextLoaderListener(rootContext));

        //Create the dispatcher servlet's Spring application context
        AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext();
        dispatcherContext.register(WebConfig.class);

        //HOW CAN I ASSOCIATE THIS CONFIG WITH MY DISPATCHER SERVLET?
        MultipartConfigElement config = new MultipartConfigElement("C:\\Temp", 20848820, 418018841, 1048576);
        DispatcherServlet dispatcherServlet = new DispatcherServlet(dispatcherContext);

        //Register and map the dispatcher servlet
        ServletRegistration.Dynamic dispatcher = 
            container.addServlet("dispatcher", dispatcherServlet);
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping("/*");
    }

}

Comment puis-je associer le MultipartConfigElement avec mon DispatcherServlet? Je ne vois pas de méthode comme setMultipartConfiguration ou de tout constructeur qui l'accepte.

Notez également que mon WebConfig déclare un MultipartResolver:

@Bean
public StandardServletMultipartResolver multipartResolver(){
    return new StandardServletMultipartResolver();
}

Mais le Ressort de la documentation états:

Configuration settings such as maximum sizes or storage locations need to be applied at that Servlet registration level as Servlet 3.0 does not allow for those settings to be done from the MultipartResolver.

Des conseils seraient grandement appréciés.

OriginalL'auteur Jay Goettelmann | 2014-05-09