/ / मैं वसंत में applicationcontext.xml फ़ाइल का उपयोग करके दायर गुण फ़ाइल कैसे प्राप्त कर सकता हूं? - जावा, वसंत, मेवेन, applicationcontext

वसंत में applicationcontext.xml फ़ाइल का उपयोग करके दायर गुण फ़ाइल का उपयोग कैसे कर सकता हूं? - जावा, वसंत, मेवेन, applicationcontext

मैंने अपने एप्लिकेशन कॉन्टेक्स्ट फ़ाइल में निम्नलिखित जोड़ा

        <bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:stage.properties</value>
<value>classpath:environment.properties</value>
</list>
</property>
</bean>

जहां मुझे stage.properties फ़ाइल मानों का उपयोग करने की आवश्यकता है .stage.properties फ़ाइल src / main / संसाधनों में है

मैंने इस फ़ाइल तक पहुंचने के लिए अपने जावा क्लास में निम्न पंक्ति लिखी है

         @Value("${spring.username}")
private String usr;

लेकिन मुझे usr के लिए मूल्य मिल रहा है जैसे = $ {spring.username} मैं यहाँ क्या याद कर रहा हूँ?

उत्तर:

उत्तर № 1 के लिए 1

@ वैल्यू ("$ {spring.username}") नोटेशन को संपत्ति प्लेसहोल्डर को हल करने के लिए स्प्रिंग संस्करण के आधार पर PropertyPalceholderConfigurer / PropertySourcesPlaceholderConfigurer के उपयोग की आवश्यकता है। भी

समाधान 1

बदलने के

<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:stage.properties</value>
<value>classpath:environment.properties</value>
</list>
</property>
</bean>

साथ में

<context:property-placeholder location="classpath:stage.propertes,classpath:environment.properties"/>

वसंत संदर्भ नामस्थान आयात करना सुनिश्चित करें

समाधान 2।

निम्नानुसार @Value के साथ अपने गुण बीन तक पहुंचने के लिए SPEL का उपयोग करें

@Value("#{properties["spring.username"]}
private String usr;

यह आपके संदर्भ में गुण बीन की spring.username संपत्ति का उपयोग करेगा