@Named
जेएसएफ या जेएसपी जैसी प्रौद्योगिकियों में सीडीआई प्रबंधित ईएल नाम का उपयोग करने के लिए एक ईएल नाम प्रदान करता है। ध्यान दें कि एक सीडीआई आवेदन में आप को @Named
एनोटेशन की आवश्यकता नहीं है ताकि सीडीआई द्वारा प्रबंधित बीन (उसकी टिप्पणी के लिए @ करल के लिए धन्यवाद)।
@ManagedBean
सेम JSF द्वारा प्रबंधित करता है और आप कर सकते हैं:
- अन्य @ManagedBean एनोटेट सेम को इसकी सुई अभिव्यक्ति भाषा
के माध्यम से अपने विचारों से
- पहुँच यह (लेकिन @Named बीन्स में नहीं है!)
यह जानकारी related question को और जानकारी के लिए देखें कि कैसे इंजेक्शन दोनों प्रकार के सेम के बीच काम करता है।
ध्यान दें कि सेम के दायरे में भी अंतर है। वे विभिन्न संकुल से आते हैं लेकिन हूबहू JSF नाम हैं (: javax.faces.bean
, CDI: javax.enterprise.context
, तो यह अक्सर त्रुटि और भ्रम की स्थिति है, तो आप गलत वर्ग में शामिल एक स्रोत है
मेरे अनुभव से:। आप जब भी संभव हो CDI सेम का उपयोग करना चाहिए चूंकि वे जेएसएफ प्रबंधित बीन्स की तुलना में अधिक लचीला हैं। केवल दोष यह है कि सीडीआई को एक दृश्य क्षेत्र नहीं पता है, इसलिए आपको या तो @ManagedBean पर वापस आने की आवश्यकता है या सीम जैसे कुछ तीसरे पक्ष के विस्तार का उपयोग करना है।
स्रोत
2012-06-12 10:35:29
किस तरह की सीमाएं? '@ प्रबंधित बीन '' नामांकित' के कार्यों का सबसेट है, इसलिए 'नामांकित' को हर जगह काम करना चाहिए। –