यह प्रश्न थोड़ा अजीब लग सकता है। मान लीजिए मेरे पास एक ऐसी सेवा है जिसे मैं उपयोगिता वर्ग में उपयोग करना चाहता हूं जिसमें कुछ स्थैतिक विधियां हैं। सेवा एक वसंत बीन है, इसलिए स्वाभाविक रूप से मैं उदाहरण के लिए एक सेटटर और (@Autowired) का उपयोग अपनी उपयोगिता वर्ग में इंजेक्ट करने के लिए करूंगा। जैसा कि वसंत के दस्तावेज़ीकरण में इसका उल्लेख है, सभी बीन्स बीन संदर्भ में स्थिर हैं। तो जब आप कक्षा में एक बीन इंजेक्ट करना चाहते हैं तो आपको "स्थैतिक" संशोधक का उपयोग करने की आवश्यकता नहीं है। नीचे देखें:स्थिर विधि में इंजेक्शन बीन का उपयोग करने का सही तरीका क्या है?
public class JustAClass{
private Service service;
public void aMethod(){
service.doSomething(....);
}
@Autowired
public void setService(Service service){
this.service = service;
}
}
अब मैं क्या पहले उल्लेख के लिए वापस जा (एक स्थिर विधि में सेवा का उपयोग करके):
public class JustAClass{
private static Service service;
public static void aMethod(){
service.doSomething(....);
}
@Autowired
public void setService(Service service){
this.service = service;
}
}
हालांकि सेवा स्थिर है, मैं इसकी परिभाषा के पीछे स्थिर डाल करने के लिए मजबूर कर रहा हूँ। यह मेरे लिए थोड़ा सा अंतर्ज्ञानी है। क्या यह गलत है? या यह एक बेहतर तरीका है? धन्यवाद
सुई यह अच्छा है मेरे लिए काम करता है के रूप में "घटक" इस वर्ग घोषित करने के लिए! – Kaunteya
क्या यह ऐसा कुछ है जो नियमित रूप से किया जाएगा? या क्या इन परिस्थितियों में आम तौर पर एक अलग दृष्टिकोण होता है? –