2011-01-24 10 views
7

यह शायद स्प्रिंग एमवीसी के विशेषज्ञों के लिए एक बेवकूफ सवाल है, लेकिन मुझे नहीं पता कि यह हुड के तहत कैसे काम करता है इसलिए मैं पूछता हूं।क्या गुइस के साथ स्प्रिंग एमवीसी को एकीकृत करना संभव है?

एक ही प्रश्न के लिए एक और शब्द: क्या स्प्रिंग एमवीसी के अंदर स्प्रिंग डी पर कोई निर्भरता है?

+0

आप [google-sitebricks] पर एक नज़र लिया है (http://code.google.com/p/google-sitebricks/)? – ColinD

उत्तर

7

मुझे पूरा यकीन है कि आईओसी कंटेनर के बिना स्प्रिंग एमवीसी का उपयोग करना संभव नहीं है।

उदाहरण के लिए: स्प्रिंग एमवीसी के दिल में DispatcherServlet है। DispatcherServlet इन तरीकों का उपयोग कर अपने आप को आरंभीकृत:

/** 
* This implementation calls {@link #initStrategies}. 
*/ 
@Override 
protected void onRefresh(ApplicationContext context) { 
    initStrategies(context); 
} 

/** 
* Initialize the strategy objects that this servlet uses. 
* <p>May be overridden in subclasses in order to initialize 
    * further strategy objects. 
*/ 
protected void initStrategies(ApplicationContext context) { 
    initMultipartResolver(context); 
    initLocaleResolver(context); 
    initThemeResolver(context); 
    initHandlerMappings(context); 
    initHandlerAdapters(context); 
    initHandlerExceptionResolvers(context); 
    initRequestToViewNameTranslator(context); 
    initViewResolvers(context); 
} 

तो आप देख सकते है, सब कुछ कसकर ApplicationContext इंटरफेस के साथ एकीकृत है।

तो आपका एकमात्र मौका एप्लिकेशन कॉन्टेक्स्ट का गिस कार्यान्वयन होगा, और मुझे लगता है कि यह बहुत दूरगामी होगा।

3

स्प्रिंग आईओसी कंटेनर का उपयोग किए बिना कुछ अधिक प्राचीन स्प्रिंग एमवीसी कार्यक्षमता का उपयोग करना संभव होना चाहिए - यह सब कुछ है, आईओसी का पूरा बिंदु।

यह मुश्किल होगा, हालांकि, वसंत एमवीसी घटक कई वसंत-मालिकाना जीवन चक्र कॉलबैक (उदा। InitializingBean और DisposableBean) का उपयोग करते हैं, जो कि गुइस को नहीं पता होगा। आपको खुद को संभालना होगा।

एक बेहतर सवाल है, हालांकि, क्यों है क्या आप यह करना चाहते हैं? स्प्रिंग आईओसी के इस्तेमाल के बिना, स्प्रिंग एमवीसी अपनी अधिकांश अपील खो देता है। मैं नहीं देखता कि आप एक के बिना एक का उपयोग क्यों करना चाहते हैं।

+0

मैं बादल में वसंत का उपयोग नहीं कर सकता - एक नया उदाहरण शुरू करने में बहुत लंबा समय लगता है। और मुझे फ्रंट एंड डेवलपमेंट के लिए कुछ एमवीसी चाहिए। एक और विकल्प स्ट्रूट्स, स्ट्रिप्स और मेरा अपना सरल एमवीसी कार्यान्वयन है। – Roman

+0

स्ट्रूट 2 गुइस के साथ अच्छी तरह से एकीकृत करता है। मैंने स्ट्रिप्स के बारे में कुछ अच्छी बातें सुनी हैं, साथ ही (यह सुनिश्चित नहीं है कि यह गुइस के साथ कितनी अच्छी तरह एकीकृत है)। –

संबंधित मुद्दे

 संबंधित मुद्दे