स्प्रिंग, स्ट्रट्स, हाइबरनेट, जावासेवर फेस, टेपेस्ट्री में क्या अंतर है?


199

क्या मुझे पता है कि क्या अंतर है: -

  1. वसंत
  2. struts
  3. स्ट्रट्स 2
  4. हाइबरनेट
  5. JavaServer चेहरे
  6. जावास्वर पेज
  7. टेपेस्ट्री

क्या ये प्रौद्योगिकियां / रूपरेखा एक दूसरे के पूरक हैं? या वे एक दूसरे के विकल्प हैं (मैं उनमें से एक का उपयोग करने के बाद, फिर मुझे दूसरे का उपयोग करने की आवश्यकता नहीं है)?

धन्यवाद।

जवाबों:


267
  1. स्प्रिंग एक IoC कंटेनर है (कम से कम स्प्रिंग का कोर) और इसका उपयोग निर्भरता इंजेक्शन का उपयोग करके चीजों को तार करने के लिए किया जाता है। स्प्रिंग लेनदेन प्रबंधन और विभिन्न अन्य प्रौद्योगिकियों के निर्बाध एकीकरण जैसी अतिरिक्त सेवाएं प्रदान करता है।
  2. स्ट्रट्स एक एक्शन-बेस्ड प्रेजेंटेशन फ्रेमवर्क है (लेकिन इसे नए डेवलपमेंट के लिए इस्तेमाल नहीं करते)।
  3. स्ट्रट्स 2 एक एक्शन-बेस्ड प्रेजेंटेशन फ्रेमवर्क है , जो कि संस्करण 2 है।
  4. हाइबरनेट एक ऑब्जेक्ट-रिलेशनल मैपिंग टूल है, एक दृढ़ता फ्रेमवर्क
  5. JavaServer चेहरे घटक आधारित प्रस्तुति ढांचा है
  6. JavaServer Pages एक दृश्य तकनीक है जिसका उपयोग दृश्य के लिए सभी उल्लिखित प्रस्तुति ढांचे द्वारा किया जाता है।
  7. टेपेस्ट्री एक अन्य घटक-आधारित प्रस्तुति रूपरेखा है

इसलिए, संक्षेप में:

  • स्ट्रट्स 2, जेएसएफ, टेपेस्ट्री (और विकेट, स्प्रिंग एमवीसी, स्ट्राइप्स) प्रेजेंटेशन फ्रेमवर्क हैं । यदि आप उनमें से एक का उपयोग करते हैं, तो आप दूसरे का उपयोग नहीं करते हैं।
  • हाइबरनेट एक दृढ़ता ढांचा है और इसका उपयोग जावा ऑब्जेक्ट्स को एक रिलेशनल डेटाबेस में बनाए रखने के लिए किया जाता है।
  • वसंत का उपयोग यह सब एक साथ तार करने और घोषणात्मक लेनदेन प्रबंधन प्रदान करने के लिए किया जा सकता है।

मैं चीजों को और अधिक भ्रमित नहीं करना चाहता हूं लेकिन ध्यान दें कि जावा ईई 6 उपरोक्त रूपरेखाओं के आधुनिक, मानकीकृत और बहुत अच्छे समकक्ष प्रदान करता है: प्रस्तुति के लिए जेएसएफ 2.0 और फेसलेट्स, दृढ़ता के लिए जेपीए 2.0, निर्भरता इंजेक्शन, आदि के लिए। नया विकास, यह आईएमओ एक गंभीर विकल्प है, जावा ईई 6 एक महान स्टैक है।

यह सभी देखें


2
मैं यह बताना चाहता हूं कि इस तरह के तुलनात्मक संदर्भ में कुछ लोग स्प्रिंग शब्द का उपयोग अपने स्वयं के एमवीसी ढांचे (जो कि स्ट्रट्स आईएमओ की तुलना में बहुत अच्छे हैं) को संदर्भित करने के लिए भी करते हैं।
MetroidFan2002

अच्छी तरह से समझाया, लेकिन फिर भी यह बहुत तकनीकी है। मैं आपको आम आदमी के कार्यकाल में इसे समझाने की सलाह दूंगा। वैसे भी अंत में लिंक है कि किया।
दोपहर नोव

जवाब वास्तव में एक महान प्रारंभिक बिंदु है, लेकिन शुरू की गई मुख्य अवधारणाओं (घटक आधारित फ्रेमवर्क के अनुरोध पर आधारित, आईओसी कंटेनर, प्रेजेंटेशन बनाम दृढ़ता फ्रेमवर्क ...) की व्याख्या करके इसे बेहतर बनाया जा सकता है। googeling, लेकिन यह अभी भी एक अच्छा जवाब है, और महान शुरुआती बिंदु है! वोट दें।
राउटर

19

आम तौर पर...

डेटाबेस संचालन को संभालने के लिए हाइबरनेट का उपयोग किया जाता है। डेटाबेस उपयोगिता कार्यक्षमता का एक समृद्ध सेट है, जो आपके कोड की लाइनों की संख्या को कम करता है। खासकर आपको हाइबरनेट के @ नोट को पढ़ना होगा। यह एक ORM ढांचा और दृढ़ता की परत है।

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

Struts2 एक्शन आधारित प्रोग्रामिंग प्रदान करता है। स्ट्रट्स टैग का एक समृद्ध समूह हैं। स्ट्रट्स एक्शन आधारित प्रोग्रामिंग साबित होते हैं इसलिए आपको अपने दृश्य के सभी प्रासंगिक नियंत्रण को बनाए रखना होगा।

जोड़ में, टेपेस्ट्री जावा के लिए एक अलग रूपरेखा है। जिसमें आपको केवल .tml(टेम्पलेट फ़ाइल) को संभालना है । आपको किसी भी वर्ग के लिए दो मुख्य फाइलें बनानी होंगी। एक JAVA वर्ग है और दूसरा इसका टेम्पलेट है। दोनों नाम समान हैं। टेपेस्ट्री स्वचालित रूप से संबंधित कक्षाओं को बुलाती है।


7

आप यहां अपने लिए अवलोकन और रैंकिंग देख सकते हैं । हाइबरनेट एक ओआरएम है, इसलिए आप वेब ऐप बनाने के लिए स्ट्रट्स + हाइबरेंट या स्प्रिंग + हाइबरनेट का उपयोग कर सकते हैं। विभिन्न वेब फ्रेमवर्क और कई एक दूसरे के विकल्प हैं।


4

स्प्रिंग एक एप्लीकेशन फ्रेमवर्क है जो IOC (कंट्रोल ऑफ इन्वर्ट) से संबंधित है।

स्ट्रट्स 2 एक वेब एप्लिकेशन MVC फ्रेमवर्क है जो क्रियाओं से संबंधित है।

हाइबरनेट एक ओआरएम (ऑब्जेक्ट-रिलेशनल मैपिंग) है जो लगातार डेटा से संबंधित है।


3

संक्षेप में,

स्ट्रट्स वेबसाइट के फ्रंट-एंड डेवलपमेंट के लिए है

हाइबरनेट वेबसाइट के बैक-एंड डेवलपमेंट के लिए है

स्प्रिंग वेबसाइट के पूर्ण स्टैक विकास के लिए है जिसमें स्प्रिंग एमवीसी (मॉडल-व्यू-कंट्रोलर) फ्रंट-एंड के लिए है। ORM, JDBC डेटा एक्सेस / इंटीग्रेशन (बैकएंड) के लिए। आदि


2

हाइबरनेट में आपको SQL में टेबल बनाने के तरीके के बारे में परेशान नहीं होना चाहिए और आपको कनेक्शन याद रखने की आवश्यकता नहीं है, उस डेटा की तरह तैयार स्टेटमेंट एक डेटाबेस में बना रहता है। तो, मूल रूप से यह एक डेवलपर के जीवन को आसान बनाता है।


2

स्प्रिंग रॉड जॉनसन द्वारा2003 मेंबनाया गया एक हल्का वजन और खुला स्रोत ढांचाहै। वसंत एक पूर्ण और एक मॉड्यूलर ढांचा है, वसंत ढांचे का उपयोग वास्तविक समय के लिए सभी परत कार्यान्वयन के लिए किया जा सकता है या विशेष परत के विकास के लिए वसंत का उपयोग किया जा सकता है। एक वास्तविक समय अनुप्रयोग का।

स्ट्रट्स जावा ईई वेब एप्लिकेशन विकसित करने के लिए एक ओपन-सोर्स वेब एप्लीकेशन फ्रेमवर्क है। यह डेवलपर्स को मॉडल-व्यू-कंट्रोलर (एमवीसी) आर्किटेक्चर को अपनाने के लिए प्रोत्साहित करने के लिए जावा सर्वलेट एपीआई का उपयोग और विस्तार करता है। यह मूल रूप से क्रेग मैकक्लान द्वारा बनाया गया थाऔर मई, 2000 में अपाचे फाउंडेशन को दान कर दिया गया था।

नीचे सूचीबद्ध स्प्रिंग और स्ट्रट फ्रेमवर्क के बीच अंतर का तुलनात्मक चार्ट है

यहां छवि विवरण दर्ज करें


0

टेपेस्ट्री पेज और घटक सरल POJO हैं (प्लेन ओल्ड जावा ऑब्जेक्ट) गेटर्स की सुविधाओं के लिए आसान पहुंच के लिए गेटर्स और सेटर से मिलकर।


0

स्प्रिंग , स्ट्रट्स और हाइबरनेट के बीच अंतर निम्नलिखित हैं:

  1. स्प्रिंग एक एप्लीकेशन फ्रेमवर्क है लेकिन स्ट्रट्स और हाइबरनेट नहीं है।
  2. स्प्रिंग और हाइबरनेट लाइट वेटेड हैं लेकिन स्ट्रट्स 2 नहीं है।
  3. स्प्रिंग और हाइबरनेट में वास्तुशिल्प है लेकिन स्ट्रट्स 2 नहीं है।
  4. स्प्रिंग और हाइबरनेट ढीले युग्मन का समर्थन करते हैं लेकिन स्ट्रट्स 2 नहीं करता है।
  5. स्ट्रट्स 2 और हाइबरनेट में टैग लाइब्रेरी है लेकिन स्प्रिंग नहीं।
  6. स्प्रिंग और हाइबरनेट का ORM प्रौद्योगिकियों के साथ आसान एकीकरण है, लेकिन स्ट्रट्स नहीं है।
  7. स्ट्रट्स 2 का क्लाइंट-साइड टेक्नोलॉजी के साथ आसान एकीकरण है, लेकिन स्प्रिंग और हाइबरनेट के पास नहीं है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.