में फ्लाई पर उदाहरण कैसे बनाएं, मान लीजिए कि मेरे पास कार श्रेणी है। मेरे कोड में मैं 10 कार बनाना चाहता हूं। कार श्रेणी में कुछ @ इंजेक्ट एनोटेटेड निर्भरताएं हैं। ऐसा करने का सबसे अच्छा तरीका क्या होगा? अगर मैं एक CarFactory जो बनाता है @Produces टिप्पणी के साथ एक विधि है कि नहीं है दुर्भाग्य से वह काम नहीं करतासीडीआई
@Inject Provider<Car> carProvider;
public void businessMethod(){
Car car = carProvider.get();
}
:
CDI जो मैं कारों को बनाने के लिए उपयोग कर सकते हैं एक प्रदाता इंटरफ़ेस है गाड़ी। जितना ज्यादा यह वास्तविक दुनिया को दर्शाता है कि मैं कारखाने के बिना कार नहीं बना सकता, मैं सबकुछ के लिए कारखानों को नहीं लिखूंगा। मैं बस सीडीआई कंटेनर चाहता हूं कि मेरी कार को किसी भी अन्य बीन की तरह बनाया जाए। आप उन कारों को बनाने की सलाह कैसे देते हैं?
यह वास्तव में है जो मैंने उपयोग किया है।क्या आप अपना उदाहरण ठीक कर सकते हैं, कन्स्ट्रक्टर तर्क क्लास विशेषता के समान प्रकार नहीं है: कार बनाम यूआईएमओएल। मुझे लगता है कि इंजेक्शन @ एनी के बजाय @New के साथ एनोटेटेड होना चाहिए। और उपयोग() - विधि के लिए एक बेहतर उदाहरण एक ऐसा होगा जो आपको दिखाएगा कि आपको कार का उदाहरण कैसे मिलेगा। उदाहरण के लिए 'carInstances.get() ' – palto
@New को डीडीआई 1.1 में हटा दिया गया है, @ पर निर्भर बीन्स की प्राथमिकता में। सीडीआई 1.1, सेक्शन 3.14 देखें। मुझे यह नहीं लगता कि प्रदाता का उपयोग करने में क्या गलत है, i। ई।, 'CDI.current()। चुनें (कार.क्लास) .get()'? –
@ मार्टिन एंडर्सन मूल समस्या यह थी कि मुझे प्रदाता का उपयोग करने के लिए एक कारखाना बनाना पड़ा। टिप्पणी में प्रदान किया गया उदाहरण मेरे लिए बिल्कुल नया है। शायद आप इससे जवाब बना सकते हैं? – palto