2016-08-05 13 views
9

में WebMvcAutoConfigurationAdapter का विस्तार नहीं कर सकता है मैं स्प्रिंग बूट 1.4 में एक वेब प्रोजेक्ट अपडेट करना चाहता हूं लेकिन मुझे मिल रहा है और त्रुटि हो रही है।स्प्रिंग बूट 1.4

मैं वर्तमान में स्प्रिंग बूट 1.3.3 का उपयोग कर रहा है और मैं WebMvcAutoConfigurationAdapter का विस्तार कर रहा हूँ कुछ कस्टम संसाधन hanlders मैप करने के लिए:

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

} 

मैंने देखा है कि एस.बी. के नए संस्करण में एक निर्माता WebMvcAutoConfigurationAdapter को जोड़ा गया है:

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

और इस निर्माता ResourceHandlerRegistrationCustomizer एक पैकेज संरक्षित इंटरफेस है कि, इसलिए, मूल रूप से, संस्करण 1.4 से उपयोग करता है स्वचालित विस्तार करने के लिए संभव नहीं है।

स्वत: कॉन्फ़िगरेशन का विस्तार करने का एक वैकल्पिक तरीका क्या है?

उत्तर

14

कुछ कस्टम संसाधन हैंडलर जोड़ने के लिए WebMvcAutoConfigurationAdapter को बढ़ाने की आवश्यकता नहीं है (और कभी नहीं किया गया है)। आपको इसके बजाय स्प्रिंग एमवीसी के WebMvcConfigurerAdapter का विस्तार करना चाहिए।

+0

एचएम, मुझे वास्तव में लगता है कि एक आवश्यकता है: जब आप केवल एक श्रृंखला में अतिरिक्त संसाधन रिसेल्वर जोड़ना चाहते हैं, जो अभी संभव नहीं है। –