में बाहरी संपत्ति को इंजेक्ट करें मेरे पास स्प्रिंग 2.5 प्रबंधित प्रोजेक्ट में तीन ऐप्स हैं जो कुछ कोड साझा करते हैं और विवरण में भिन्न होते हैं।वसंत संदर्भ
प्रत्येक एप्लिकेशन में एक संपत्ति (java.lang.String
) है जिसका उपयोग अनुप्रयोग संदर्भ से पहले किया जाता है।
ऐप संदर्भ बनाने में कुछ समय लगता है और पहले नहीं हो सकता है। इस प्रकार, यह प्रत्येक व्यक्तिगत आवेदन में परिभाषित किया गया है। इस संपत्ति को संदर्भ परिभाषा में डुप्लिकेट किया गया है क्योंकि इसकी भी आवश्यकता है। क्या मैं उस नकल से छुटकारा पा सकता हूं?
क्या यह संपत्ति मेरे आवेदन संदर्भ में इंजेक्ट करना संभव है?
फिर भी मैं अपने इस्तेमाल नहीं कर सकता, 'निजी स्ट्रिंग appName = ...', कुछ संदर्भों के लिए एक संपत्ति के रूप में अनुप्रयोग संदर्भ में, क्या मैं कर सकता हूं? – DerMike
नहीं, जैसा कि जावा वाक्यविन्यास है, और अनुप्रयोग संदर्भ एक एक्सएमएल फ़ाइल है। यदि आपके पास एक संपत्ति फ़ाइल है और इसमें ऐपनाम के लिए संपत्ति है, उदाहरण के लिए, 'appName = MyApp', तो आप PropertyPlaceholdConfigurer सेट अप होने के बाद '$ myPrefix {appName}' का उल्लेख कर सकते हैं, और वह (इस मामले में) हल हो जाएगा 'MyApp' पर। –
मुझे आशा है कि 'ctx.addBean (String.class, appName)' जैसी कुछ अच्छी तरह से मिल जाए। – DerMike