Spring 4 auf Java-Config für MultipartResolver für Servlet 3.0

Mache ich einen all-Java-Ansatz zur Spring MVC Konfiguration und kann nicht herausfinden, wie die Zuordnung einer MultipartConfigElement mit meinem DispatcherServlet programmgesteuert.

Spring-Dokumentation besagt:

Zur Nutzung der Servlet 3.0-basierten multipart Parsen, müssen Sie markieren
das DispatcherServlet mit einem "multipart-config" Abschnitt web.xml oder
mit ein javax.- servlet.MultipartConfigElement in den programmatischen Servlet
Anmeldung...

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

Hier ist mein 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("/*");
    }

}

Wie Verbinde ich die MultipartConfigElement mit meinem DispatcherServlet? Ich sehe keine Methode, wie setMultipartConfiguration oder jeder Konstruktor akzeptiert es.

Beachten Sie auch, dass meine WebConfig erklärt MultipartResolver:

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

Aber die Spring-Dokumentation besagt:

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.

Jede Beratung würde sehr geschätzt werden.

Schreibe einen Kommentar