2010-01-25 15 views
10

की तुलना में वसंत मैंने वसंत का उपयोग नहीं किया है, लेकिन ऐसा लगता है कि यह काफी लोकप्रिय है। मैंने सुना है कि यह चीजों को करने के वैकल्पिक तरीकों को प्रदान करता है, जैसे कि रीस्टफुल वेब सेवाओं का उपभोग करने में सक्षम होना। क्या किसी को पता है कि जेएसएफ 2 द्वारा पेश की गई समान सुविधाओं को प्रदान करता है, या क्या मैं संतरे से सेब की तुलना करूँगा?जेएसएफ 2

संपादित करें:

जानकारी के लिए धन्यवाद। जेएसएफ 2 में स्प्रिंग एमवीसी की तुलना में, क्या जेएसएफ 2 कार्यक्षमता के बजाय स्प्रिंग एमवीसी का उपयोग करने के फायदे होंगे?

धन्यवाद।

+3

आप वास्तव में "जेएसएफ 2 के साथ वसंत" नहीं, "जेएसएफ 2 के साथ वसंत एमवीसी" की तुलना करना चाहते हैं। – BalusC

उत्तर

16

संतरे से सेब।

वसंत एक अनुप्रयोग ढांचा है जो निर्भरता इंजेक्शन, पहलू उन्मुख प्रोग्रामिंग और कई अन्य चीजों को एक ढेर में एकीकृत करता है। सेब की तुलना में इसका मोटा सेब जे 2 ईई होगा।

जेएसएफ एक दृश्य परत तकनीक है, जो मॉडल व्यू कंट्रोलर प्रतिमान पर बनाया गया है। संतरे की तुलना में इसके मोटे संतरे स्प्रिंग एमवीसी होंगे। दोनों अलग-अलग दृश्य प्रौद्योगिकियों (यानी फेसलेट्स, जेएसपी, वेग, इत्यादि) का उपयोग कर सकते हैं और दोनों अपने संबंधित ढेर में बेहद अच्छी तरह से एकीकृत हो सकते हैं।

- नए प्रश्न के उत्तर में -

मैं JSF2 पर्याप्त मात्रा में उपयोग किया है (जितना किसी रूप में अपनी कम उम्र को देखते हुए कर सकते हैं) और मैं इसे एक बहुत अच्छा ढांचा होने के लिए लगता है। यह जेएसएफ 1.2 की कई कमियों को ठीक करता है और मुझे लगा कि जेएसएफ 1.2 मेरे लिए भी एक अच्छा मैच था।

मेरे पास स्प्रिंग एमवीसी का उपयोग नहीं किया गया है, लेकिन मैंने कुछ कोड देखा है जो किसी अन्य डेवलपर ने किया है।

मेरा (बहुत) सीमित अनुभव यह है कि स्प्रिंग एमवीसी एक "कार्रवाई" ढांचे की तरह थोड़ा अधिक महसूस करता है जबकि जेएसएफ एक "घटक" ढांचे की तरह महसूस करता है। मैं, व्यक्तित्व, सोचता हूं कि घटक-एस्क्यू ढांचे ओओडी का एक अधिक प्राकृतिक विस्तार है, जो मुझे अपील करता है और जिस तरह से मैं सॉफ्टवेयर लिखता हूं।

+0

ग्रेट, इनपुट के लिए धन्यवाद। –

4

वसंत एमवीसी वसंत ढांचे के अंदर एक वेब ढांचा है।

  • ajax-समर्थन
  • सत्यापन
  • निर्भरता इंजेक्शन
  • आदि

फिर भी, आप वसंत का उपयोग कर सकते (वसंत नहीं MVC: यह JSF 2.0 में उन जैसी सुविधाएं प्रदान करती करता है) जेएसएफ 2.0 के साथ, वसंत के साथ निर्भरता-इंजेक्शन, एओपी, लेनदेन प्रबंधन तंत्र, और जेएसएफ वेब परत प्रदान करते हुए।

+0

क्या आपके पास इस सेटअप का वर्णन करने वाला एक अच्छा लिंक है? – rustyx

+0

पेटक्लिनिक आवेदन की तलाश करें। या ग्रीन हाउस एक। – Bozho

+0

जेएसएफ के साथ वसंत का उपयोग करने के क्या फायदे हैं? – Shekhar

2

जेएसएफ सिर्फ एमवीसी की दृश्य परत है और एक पूर्ण एमवीसी के लिए स्प्रिंग/हाइबरनेट या ईजेबी जैसी अन्य तकनीकों के साथ उपयोग करने की आवश्यकता है।

वसंत (स्प्रिंग एमवीसी नहीं) एमवीसी की नियंत्रक परत है और जैसा कि मैंने कहा है कि जेएसएफ (स्ट्रूट्स, जेएसपी/सर्वलेट इत्यादि) और हाइबरनेट जैसे कुछ के साथ इस्तेमाल किया जा सकता है।

मैं अब लगभग 6 महीने के लिए स्प्रिंग एमवीसी का उपयोग कर रहा हूं, जबकि शायद यह स्प्रिंगएमवीसी का सबसे पुराना संस्करण नहीं है, मुझे यह थोड़ा परेशान पाया गया है कि हमारे पास सौदा करने के लिए बहुत अधिक एक्सएमएल है। सभी प्रबंधित सेम और डीएओ में एक्सएमएल कॉन्फ़िगरेशन है। ऐसा लगता है कि सबकुछ थूउग को एक विधि() पर बुलाया जाता है।

ईजेबी की तरह कुछ जेएसएफ मेरी राय में बहुत आसान है ... एनोटेशन का उपयोग करके सब कुछ किया जा सकता है, इसलिए बस अपने प्रबंधित बीन में @ प्रबंधित बीन = बीन का उपयोग करें और अपने जेएसएफ में {thebean.param} डाल दें और आपके पास पहुंच है बैकिंग बीन के डेटा के लिए। इसके अलावा आप जेएसएफ के लिए बैकिंग बीन्स के रूप में अपने ईजेबी के सत्र बीन्स का उपयोग कर सकते हैं, फिर डीएओ (मॉडल परत) इकाई बीन को सीधे प्रवेश कर सकते हैं। फिर से @Entity एनोटेशन और EntityManager क्लास

भी मुझे अपनी पसंद की विधियों को सेट करने के लिए स्वतंत्र तरीके से पसंद है ताकि आप अपने बीन में TheBean.addDetails() नामक एक विधि प्राप्त कर सकें और इसे कॉल कर सकें स्प्रिंग एमवीसी के साथ एक विधि के माध्यम से चलने वाली सब कुछ के बजाय जेनएफ .ban.addDetails() के साथ।

जेएसएफ जैसा कि मैं कहता हूं कि एमवीसी की दृश्य परत है, व्यक्तिगत रूप से मैं इसे ईजेबी के साथ उपयोग करना पसंद करता हूं क्योंकि यह आपको सनस जे 2EE.jar के भीतर से पूर्ण एमवीसी देता है, इसलिए यह सुनिश्चित करने में कोई समस्या नहीं है कि आपके पास सही संस्करण हैं और कोई विन्यास की आवश्यकता नहीं है।

जेएसएफ 2.0 जेएसएफ 1.2 के लिए बहुत अच्छा है जो हमेशा ईजेबी 3.1 के साथ आधे नौकरी की तरह महसूस करता है जो ईजेबी 2.एक्स की तरह कुछ नहीं है और यह भी ईजेबी 3.0 से कहीं बेहतर है। मेरे लिए जेएसएफ 2.0 ईजेबी 3.1 के साथ इतना आसान और आसान विकसित करना है और सबकुछ बहुत पारदर्शी है।

+2

मैं असहमत हूं कि जेएसएफ "सिर्फ एक दृश्य परत" है। इसे स्टैंडअलोन एमवीसी एप्लीकेशन के रूप में इस्तेमाल किया जा सकता है। हालांकि यह सच है कि जेएसएफ को अक्सर "एम (एमवीसी) सी" के बीच के रूप में उपयोग किया जाता है। मैं स्वयं स्प्रिंग को नियंत्रक के रूप में नहीं मानता, बल्कि इंजेक्टर के रूप में। लेकिन मुझे वसंत नहीं पता है कि इसके बारे में एक स्पष्ट उत्तर पोस्ट करना अच्छा है। – BalusC

+0

दिलचस्प, जानकारी के लिए धन्यवाद। हाँ, मैं जेएसएफ 2 का बहुत आनंद ले रहा हूं, लेकिन उत्सुक हूं कि वहां और क्या है।जेएसएफ 2 के साथ आप जेएसएफ मुख्य रूप से व्यू लेयर हो सकते हैं, लेकिन मॉडल और कंट्रोलर कोड भी इसमें घुस सकता है ... –

+1

स्प्रिंग एमवीसी की आवश्यकता है कि स्प्रिंग 2.5 के एनोटेशन-आधारित कॉन्फ़िगरेशन के परिचय के बाद बहुत सारे एक्सएमएल सटीक नहीं हैं। –

1

मैं जेएसएफ 1.2 + जेएसएफ प्रबंधितबीन के साथ 2 साल तक काम कर रहा था और अब मैंने जेएसएफ 2.0 में माइग्रेट करना शुरू कर दिया है। वसंत और वसंत एमवीसी के बारे में जानने के बाद, मुझे लगता है कि एक जेएसएफ (1.2 या 2.0) + वसंत (सेवा और एमवीसी नहीं) + हाइबरनेट एक बहुत अच्छी वास्तुकला होगी।

0

जेएसएफ 2 बैकएंड और फ्रंटेंड के रूप में उपयोग किया जा सकता है, और इसके अलावा स्प्रिंग एमवीसी की तुलना में बेहतर निर्भरता इंजेक्शन, नेविगेशन और सत्यापन भी हो सकता है।

स्प्रिंग स्वयं को EJB3.1/EJB3.1 के बजाय एंटरप्राइज़ फ्रेमवर्क के रूप में उपयोग किया जा सकता है, लेकिन प्राइमफेस के साथ जेएसएफ 2 के अग्रभाग के विकल्प नहीं हैं।

1

वसंत अरबों कॉन्फ़िगरेशन के सबसे खराब हिस्से में से एक, वसंत 3 में भी आपके पास कॉन्फ़िगरेशन फाइलें होनी चाहिए ... उदाहरण के लिए आपके पास SOAP वेब सेवा है और वसंत को बैकएंड के रूप में एकीकृत करना चाहते हैं .. और आप पाते हैं कि आप वसंत को इंजेक्ट नहीं कर सकते नियमित वेब सेवा में सेम .. और आपको स्प्रिंग SOAP ..... स्प्रिंग 3 में भी अपनी सेवाओं को बदलना होगा, लेकिन स्प्रिंग 3 ने एनोटेशन का इस्तेमाल किया है, लेकिन यह हर बार आपको परेशान करता है कि कुछ सेवाओं को खोलने या बंद करने के लिए किस एनोटेशन का उपयोग करना है .... इसके बजाय आपके पास केवल EJB3.1 हो सकता है जो कि शक्ति, सरल और जावा डेवलपर के रूप में आप इसका आनंद ले सकते हैं। मैंने देखा कि वसंत प्रशंसकों को अब तक ईजेबी 3 नहीं पता है, वे वसंत पसंद क्यों करते हैं :))