मेरे पास प्रॉपर्टीप्लेसहोल्डर कॉन्फ़िगरर के साथ स्प्रिंग एप्लिकेशन-context.xml है .properties फ़ाइल से गुणों के मान प्राप्त करने के लिए। मुख्य और परीक्षण स्रोत फ़ोल्डर में अलग .properties फ़ाइल है। मुद्दा यह है कि मुझे .properties फ़ाइल में पर्यावरण चर का उपयोग करने की आवश्यकता है। लेकिन जब मैं निम्नलिखित तरीके से यह कार्य करें:प्रॉपर्टीप्लेसहोल्डर कॉन्फ़िगरर और .properties फ़ाइलों में पर्यावरण चर
property.name=${env.SYSTEM_PROPERTY}
मैं निम्न त्रुटि हो रही है: कैसे बनाने के
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'beanName' defined in class path resource [com/example/applicationContext.xml]: Could not resolve placeholder 'env.SYSTEM_PROPERTY'
जबकि प्लेसहोल्डर configurer रूप
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:com/example/application.properties"/>
</bean>
परिभाषित कोई भी विचार property.name को पर्यावरण चर के रूप में व्याख्या किया जा सकता है (और प्लेसहोल्डर के रूप में नहीं)?
सर्वश्रेष्ठ संबंध, दिमित्री।
यह काफी अच्छा है। हालांकि एक समस्या यह है कि रनटाइम वैरिएबल को परिभाषित करना भूलना मुश्किल रनटाइम त्रुटियों का उत्पादन करता है, जैसे config_xxx फ़ाइल नहीं मिली और पसंद है। उस स्थिति में सुधार करने के लिए मैं एक बीन पंजीकृत करता हूं जो इस तरह के विशेष वसंत इंटरफेस लागू करता है: क्लास एनवायरनमेंट रिपोर्टर प्राथमिकताऑर्डर्ड, बीनफैक्टरीपोस्टप्रोसेसर, एनवायरनमेंटवेयर {...} पर्यावरण .getProperty मुझे अपेक्षित गुणों की जांच करने की अनुमति देता है और किसी भी अन्य बीन से पहले साफ हो जाता है बनाया था। – Federico