/ / जेनकिंस विकास में निर्भरता इंजेक्शन - जावा, जेनकिंस, निर्भरता-इंजेक्शन

जेनकिंस विकास में निर्भरता इंजेक्शन - जावा, जेनकींस, निर्भरता-इंजेक्शन

मैं एक (मौजूदा) जेनकिंस प्लगइन पर काम कर रहा हूँ औरनिर्भरता इंजेक्शन का उपयोग करना चाहते हैं। दुर्भाग्य से, जेनकिंस विकास के लिए DI को खराब रूप से प्रलेखित किया गया है। जहाँ तक मुझे पता है कि जेनकिन्स डीआई के लिए Google के गुइसे ढांचे का उपयोग करता है यह विकी पेज है, लेकिन मैं इसके बारे में थोड़ा हैरान हूँ: मौजूदा जेनकींस प्लगइन्स में कि मैंने "चेक आई डॉन" नहीं किया है, गुइस को ऐसे कॉल मिलते हैं, लेकिन मुझे इसके बहुत सारे उपयोग दिखाई देते हैं @Inject एनोटेशन। Futhermore, यह मुझे परेशान करता है कि मुझे कॉल करने की आवश्यकता होगी Guice.createInjector(new MyModule()).injectMembers(this); के भीतर प्रत्येक कक्षा जहां मुझे निर्भरता इंजेक्शन चाहिए, ऐसा लगता है जैसे मैं अपने कोड को लेट कर रहा हूं।

मैं जेनकिंस में निर्भरता इंजेक्शन कैसे करूं? उदाहरण के लिए, मेरे पास एक सरल इंटरफ़ेस "MyInterface" और एक कार्यान्वयन वर्ग है MyInterfaceImpl। एक तीसरी कक्षा में मेरे पास निम्नलिखित हैं:

class MyClass {
private MyInterface obj;

@Inject
public MyClass(MyInterface obj) {
this.obj = obj;
}

...
}

क्या जेनकिंस में कोई ऐसी मशीन है जो स्वचालित रूप से ऐसी वस्तुओं का निर्माण करती है, या क्या मुझे उस Guice इंजेक्टर कोड को जोड़ना है?

उत्तर:

जवाब के लिए 0 № 1

अधूरी जानकारी वाली विकी ने लिखी थी डैन अलविज़क्स एक SO प्रश्न के भाग के रूप में। यह प्रतिबिंबित नहीं करता है कि जेनकिन्स वास्तव में अपने डीआई कैसे करता है।

DI के लिए एक क्लास रजिस्टर करने का सही तरीका इसके साथ एनोटेट करना प्रतीत होता है @Extension और उपयोग कर रहे हैं @Inject सामान्य रूप से। JavaDoc में कुछ अन्य विकल्पों पर चर्चा की गई है।