2009-12-23 7 views
5

मैं जानना चाहता था कि जावा की तुलना में एक अलग जेवीएम भाषा के साथ स्प्रिंग एमवीसी का उपयोग करना संभव था, उदाहरण के लिए ग्रोवी या स्कैला। या ग्रोवी केवल Grails पर चलाया जा सकता है?ग्रोवी या स्कैला के साथ स्प्रिंग एमवीसी का उपयोग करना संभव है?

यदि यह संभव है, तो यह कुछ ऐसा है जो लोग अक्सर कोशिश करते हैं, या वे परंपरागत रूप से उपयोग किए गए ढांचे के साथ चिपके रहते हैं?

+6

स्कैला एक स्थिर रूप से टाइप की गई भाषा है, गतिशील रूप से टाइप नहीं किया गया है। –

+2

कोई भी मौका आप इसे प्रतिबिंबित करने के लिए प्रश्न को संपादित कर सकते हैं, और शायद अन्य संकेत दे सकते हैं कि आपने केवल प्रश्न को त्याग दिया नहीं है। –

उत्तर

2

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

0

मैं स्कैला के लिए बात नहीं कर सकता, लेकिन मैंने व्यक्तिगत रूप से ग्रोवी के साथ वसंत का उपयोग किया है। स्वर्ग में बनाया गया मैच :)

3

निश्चित रूप से, वसंत में ग्रोवी जैसी गतिशील भाषाओं के लिए उत्कृष्ट समर्थन है। संदर्भ मैनुअल में एक संपूर्ण अध्याय है: http://static.springsource.org/spring/docs/2.5.6/reference/dynamic-language.html

स्कैला के लिए; मैंने ऐसा करने की कोशिश की और यह संभव है। समस्या यह है कि जेएसपी (या उस मामले के लिए वसंत एमवीसी द्वारा समर्थित सबसे तेज़ भाषाएं) स्कैला संग्रह प्रकारों को 'समझ' नहीं देती हैं, इसलिए मैंने खुद को स्कैला और जावा संग्रहों के बीच परिवर्तित कर दिया। यह स्कैला 2.8.0 में बेहतर होना चाहिए, लेकिन मैंने इसका परीक्षण नहीं किया है।

5

वसंत स्केल के साथ पूरी तरह से अच्छी तरह से काम करता है क्योंकि स्कैला सामान्य .class फ़ाइलों को जावा-समकक्ष बाइटकोड से संकलित करता है। मैं हर समय वसंत और स्कैला का उपयोग करता हूं।

<bean class="my.scala.Class"> 
    <property name="listProp"> 
     <scala:list value-type="java.lang.Integer"> 
      <value>1</value> 
     </scala:list> 
    </property> 
</bean> 
0

स्प्रिंग स्काला के साथ बहुत अच्छी तरह से काम करता है, हालांकि स्काला ही सुविधाओं है कि मतलब है कि आप एक आवश्यकता नहीं है: यह स्केला विशेष प्रकार के लिए समर्थन जोड़ने के लिए, उदाहरण के लिए स्प्रिंग एक्सएमएल-तानाना उपयोग करने के लिए भी संभव है कई मामलों में निर्भरता इंजेक्शन ढांचे (जैसे वसंत)।

इसके अलावा, स्कैला एक गतिशील भाषा नहीं है, यह जावा की तरह एक स्थिर भाषा है। स्कैला के प्राथमिक लक्ष्यों में से एक जावा के साथ अधिकतम अंतःक्रियाशीलता थी। इसका अर्थ यह है कि स्कैला उन क्लास फ़ाइलों को संकलित करता है जो जावा ऑब्जेक्ट्स की तरह दिखते हैं और महसूस करते हैं, और स्प्रिंग जैसे बाहरी पुस्तकालयों और ढांचे द्वारा जावा ऑब्जेक्ट्स के रूप में सहजता से उपयोग किया जा सकता है।

0

ठीक है, स्कैला में व्यवसाय तर्क लिखने के बारे में क्या है, ताकि कार्यात्मक तरीके मल्टी कोर वातावरण में अच्छी तरह से स्केल हो और बाकी को वसंत और हाइबरनेट द्वारा संभाला जा सके। मुझे लगता है कि यह दोनों दुनिया के सर्वश्रेष्ठ पाने के लिए एक बहुत अच्छा तरीका है। निस्संदेह कोई भी वेब ऐप ढांचे के रूप में उठा सकता है, लेकिन मुझे लगता है कि वसंत वास्तव में परिपक्व है और इसमें अधिक सुविधाएं हैं। लेकिन व्यापार तर्क वह जगह है जहां गेंद रोलिंग हो रही है और इसलिए स्कैला और एफपी अनिवार्य जावा से बेहतर तरीके से इसे संभाल सकता है।

सही?

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