2016-08-05 12 views
9

Chciałbym zaktualizować projekt WWW do Spring Boot 1.4, ale dostaję i błąd.Nie można rozszerzyć WebMvcAutoConfigurationAdapter w Spring Boot 1.4

obecnie używam Wiosna Boot 1.3.3 i mam rozszerzenie WebMvcAutoConfigurationAdapter mapować niektóre hanlders zwyczaj zasobów:

@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/"); 
     // ... 

} 

Zauważyłem, że w nowej wersji SB konstruktor został dodany do WebMvcAutoConfigurationAdapter:

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

i konstruktor wykorzystuje ResourceHandlerRegistrationCustomizer, który jest interfejsem pakiet chronione, dlatego, w zasadzie, z wersji 1.4 jest możliwe rozszerzenie automatycznego konfigurowania.

Jaki jest alternatywny sposób przedłużenia autokonfiguracji?

Odpowiedz

14

Nie trzeba przedłużać WebMvcAutoConfigurationAdapter, aby dodać niestandardowe procedury obsługi zasobów (i nigdy ich nie było). Powinieneś zamiast tego rozszerzyć Spring MVC o numer WebMvcConfigurerAdapter.

+0

Hm, rzeczywiście uważam, że jest taka potrzeba: Gdy chcesz tylko dodać dodatkowe ResourceResolvers do łańcucha, co nie jest możliwe w tej chwili. –