2016-08-05 5 views
9

Ich möchte ein Webprojekt auf Spring Boot 1.4 aktualisieren, aber ich bekomme und Fehler.Kann WebMvcAutoConfigurationAdapter in Spring Boot 1.4 nicht erweitern

Ich bin derzeit mit Frühlings-Boot 1.3.3 und ich bin erstreckt WebMvcAutoConfigurationAdapter einig benutzerdefinierte Ressource hanlders zur Karte:

@Configuration 
public class MvcConfiguration extends WebMvcAutoConfigurationAdapter { 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     super.addResourceHandlers(registry); 
     registry.addResourceHandler("/images/users/**").addResourceLocations("http://file-storage/images/users/"); 
     // ... 

} 

Ich bemerkte, dass in der neuen Version von SB wurde ein Konstruktor WebMvcAutoConfigurationAdapter hinzugefügt:

public WebMvcAutoConfigurationAdapter(ResourceProperties resourceProperties, 
     WebMvcProperties mvcProperties, ListableBeanFactory beanFactory, 
     HttpMessageConverters messageConverters, 
     ObjectProvider<ResourceHandlerRegistrationCustomizer> resourceHandlerRegistrationCustomizerProvider) {} 

und dieser Konstruktor verwendet ResourceHandlerRegistrationCustomizer, die ein Paket geschützte Schnittstelle ist, so, im Grunde von der Version 1.4 ist nicht möglich, die automatische Konfiguration zu erweitern.

Was ist eine alternative Möglichkeit zur Erweiterung der Autokonfiguration?

Antwort

14

Es ist nicht notwendig, WebMvcAutoConfigurationAdapter zu erweitern, um einige benutzerdefinierte Ressourcenhandler hinzuzufügen (und war es nie). Sie sollten stattdessen Spring MVC WebMvcConfigurerAdapter verlängern.

+0

Hm, ich glaube eigentlich, dass es eine Notwendigkeit gibt: Wenn Sie nur zusätzliche ResourceResolver zu einer Kette hinzufügen wollen, was momentan nicht möglich ist. –

Verwandte Themen