मुझे स्प्रिंग बीन्स के विभिन्न क्षेत्रों की स्पष्ट समझ है। लेकिन मैं एंटरप्राइज़ स्तरीय परियोजनाओं में एक बीन के प्रोटोटाइप दायरे के कुछ उपयोग मामलों की तलाश में हूं। यह बहुत अच्छा होगा यदि आप प्रोटोटाइप स्कोप के कुछ वास्तविक जीवन उपयोग मामलों को साझा कर सकते हैं (अनुरोध स्कोप नहीं)।वसंत प्रोटोटाइप गुंजाइश - मामलों का उपयोग करें?
उत्तर
मैंने ज्यादातर वसंत lookup-method
के संयोजन के साथ प्रोटोटाइप का उपयोग किया है। मेरा आवेदन game server है जिसे टीसीपी पोर्ट पर इनकमिंग बाइट्स को डीकोड करने की आवश्यकता है। निम्नलिखित सेम परिभाषा
<bean id="channelBufferProtocol" class="org.menacheri.protocols.impl.ChannelBufferProtocol">
<lookup-method name="createLengthBasedFrameDecoder" bean="lengthFieldBasedFrameDecoder"/>
<property name="eventDecoder" ref="eventDecoder"></property>
<property name="lengthFieldPrepender" ref="lengthFieldPrepender"></property>
<property name="eventEncoder" ref="eventEncoder"></property>
</bean>
प्रोटोकॉल कार्यान्वयन वर्ग के अंदर पर विचार करें, मैं फ्रेम विकोडक pipeline.addLast("lengthDecoder", createLengthBasedFrameDecoder());
जब इस पद्धति शुरू हो जाती है, वसंत एक नया फ्रेम विकोडक उदाहरण बना सकते हैं और यह वापस आ जाएगी बनाने के लिए निम्नलिखित कोड है।
bean="lengthFieldBasedFrameDecoder"
द्वारा लौटा गया बीन prototype
का दायरा होना चाहिए, क्योंकि यह मेरे ऐप में एक स्टेटस बीन है।
नोट: प्रोटोकॉल डिकोडर्स और एन्कोडर्स के एक निश्चित सेट के साथ कुछ भी नहीं है लेकिन एक साथ बंधे हैं। "जिम्मेदारी की चेन" डिजाइन पैटर्न।
यह लुकअप-विधि स्प्रिंग डॉक द्वारा समझाया गया है: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans। एचटीएमएल # बीन्स-फैक्ट्री-विधि-इंजेक्शन –
मैंने प्रोटोटाइप बीन्स का उपयोग कॉन्फ़िगर किए गए फॉर्म तत्वों (नामों को सत्यापित करने के लिए कॉन्फ़िगर किया गया एक टेक्स्टबॉक्स, उदाहरण के लिए ई-मेल पते) घोषित करने के लिए किया था और मेरे वेबपैप में बनाए जाने वाले हर रूप के लिए उनमें से "जीवित" उदाहरण प्राप्त किए थे। विवरण महत्वपूर्ण नहीं हैं, केवल सिद्धांत है कि मैं इस तरह से संक्षेप में प्रस्तुत होगा:
- एक वर्ग कई config मापदंडों
- आप पूर्वनिर्धारित विन्यास का एक सेट के साथ की घटनाओं को बनाने की जरूरत है कि नहीं है (fancy1 , fancy2, एसटीसी।) कि उदाहरण के रूप में एक्सएमएल
हम मॉडल वर्गों के मामले में प्रोटोटाइप गुंजाइश का उपयोग कर सकते में पहले से कॉन्फ़िगर बनाता कारखाना विधि के एक प्रकार के रूप में applicationContext.getBean("myBeanConfiguredFancy1")
की
फिर प्रोटोटाइप स्कॉप्ड की बजाय स्कॉप्ड का अनुरोध नहीं किया जाना चाहिए? –
किसी ऐसे व्यक्ति के रूप में जो पहले स्प्रिंगसोर्स में काम करता था और इस विषय पर डेवलपर्स से बात करता था। मेरा लेना यहाँ है। प्रोटोटाइप चीजों का परीक्षण करने के लिए बहुत अच्छा है, इसलिए नाम प्रोटोटाइप और क्रिएटिव्यू नहीं है या हर बार जब आप स्प्रिंग कंटेनर से अनुरोध करते हैं तो बीन का एक नया उदाहरण बनाने का कुछ और विवरण।
मैंने पिछले कुछ वर्षों में अपने उपयोग में भी पाया है कि मैं किसी भी अन्य स्थान की बात नहीं कर सकता जहां प्रोटोटाइप किसी वास्तविक दुनिया के उत्पादन अनुप्रयोग में समझ में आता है। यदि आपकी वस्तु राज्य रखती है, तो यह आमतौर पर वसंत बीन नहीं होना चाहिए। मैंने उन सभी अनुप्रयोगों में पाया है जिन पर मैंने काम किया है, सभी बीन्स सेवाएं, रेपॉजिटरीज, और सिंगलटन गैर राज्य होल्डिंग ऑब्जेक्ट्स हैं जहां मुझे लेनदेन, जेपीए, जेएमएस जैसी सुविधाएं जोड़ने की ज़रूरत है और ऐसी पसंद जो हमें एंटरप्राइज़ फीचर्स देती हैं जो पीओजेओ डॉन ' टी है
मेरे सिस्टम में ऑब्जेक्ट्स जो मेरे पास हैं, वे मेरी संस्थाएं हैं और डीटीओ देख सकते हैं, या अन्य चीजें जो स्प्रिंग बीन होने का कोई मतलब नहीं है। तो इसलिए उत्पादन में मेरे अनुप्रयोगों में एक एकल "प्रोटोटाइप" बीन नहीं रहा है।
- 1. स्प्रिंग autowire और प्रोटोटाइप गुंजाइश
- 2. स्प्रिंग प्रोटोटाइप बीन्स और वसंत के लाभ
- 3. डेटा परिवार मामलों का उपयोग
- 4. संगम का उपयोग कर परीक्षण मामलों का प्रबंधन कैसे करें?
- 5. उपयोगकर्ता कहानियां बनाम मामलों का उपयोग
- 6. नोएसक्यूएल प्रौद्योगिकियों, मामलों, शक्तियों और कमजोरियों का उपयोग करें
- 7. जावा समवर्ती उपयोगिताओं के लिए मामलों का उपयोग करें
- 8. एनोटेशन लागू करने के लिए मामलों का उपयोग करें
- 9. परियोजनाओं में क्लोजर के लिए मामलों का उपयोग करें
- 10. ओडब्ल्यूएल के लिए क्या मामलों का उपयोग करें?
- 11. प्रोटोटाइप का उपयोग किए बिना चेन फ़ंक्शन कैसे करें?
- 12. जावास्क्रिप्ट में ऑब्जेक्ट प्रोटोटाइप का उपयोग कैसे करें?
- 13. वसंत बीन ऊर्फ उपयोग
- 14. classpath का उपयोग कर: वसंत
- 15. Symfony2 ScopeCrossingInjectionException जब आप प्रोटोटाइप स्कोप का उपयोग करते हैं
- 16. IronPython गुंजाइश
- 17. रचना और स्व-टाइपिंग उपयोग-मामलों में अंतर कैसे करें
- 18. गुंजाइश खोने का उपयोग करते समय एनजी-शामिल
- 19. स्प्रिंग बीन के लिए प्रोटोटाइप प्रोटोटाइप क्या है?
- 20. अजगर गुंजाइश
- 21. क्यों गुंजाइश
- 22. वसंत और हाइबरनेट के साथ जोडाटाइम का उपयोग कैसे करें?
- 23. वसंत एक्सएमएल टुकड़े का पुन: उपयोग कैसे करें
- 24. वसंत आवेदन संदर्भ: वेब.एक्सएमएल संदर्भ-पैराम्स का उपयोग करें?
- 25. वसंत में अपवाद .class.name का उपयोग करें: सरल मैपिंगएक्सप्शन रीसोलवर
- 26. वसंत में एकाधिक व्यूअरोलॉल्वर का उपयोग कैसे करें?
- 27. वसंत
- 28. प्रोटोटाइप
- 29. jquery स्विच मामलों में श्रेणियों का उपयोग कर?
- 30. हम वसंत में कस्टम दायरे का उपयोग क्यों करेंगे? इसकी आवश्यकता कब है?
मैं इस संक्षिप्त प्रश्न को लेकर कोई कोड नहीं देखता हूं, इसे रचनात्मक, बहुत व्यापक नहीं माना गया है।मुझे गलत मत समझो, मुझे लगता है कि यह सवाल बहुत अच्छा है –