इसके अलावा मैं एक और समाधान ढूंढता हूं जो मेरे लिए काम करता है। हमारे लीगेसी स्प्रिंग प्रोजेक्ट में, हम अपने उपयोगकर्ताओं को इस कॉन्फ़िगरेशन का उपयोग करने की संभावनाएं देने के लिए इस पद्धति का उपयोग करते हैं:
<bean id="appUserProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="false"/>
<property name="locations">
<list>
<value>file:./conf/user.properties</value>
</list>
</property>
</bean>
और इस गुण का उपयोग करने के लिए हमारे कोड में ऐसा कुछ लिखने की आवश्यकता है:
@Value("#{appUserProperties.userProperty}")
private String userProperty
और यदि कोई स्थिति आती है जब आपको एक नई संपत्ति जोड़ने की आवश्यकता होती है, लेकिन अभी आप इसे उत्पादन उपयोगकर्ता में जोड़ना नहीं चाहते हैं, तो यह बहुत तेजी से एक नरक बन जाता है जब आपको अपने सभी परीक्षण संदर्भों को पैच करने की आवश्यकता होती है या आपका आवेदन विफल हो जाएगा चालू होना।
इस समस्या को संभालने के लिए आप डिफ़ॉल्ट मान जोड़ने के लिए अगले सिंटैक्स का उपयोग कर सकते हैं:
@Value("#{appUserProperties.get('userProperty')?:'default value'}")
private String userProperty
यह मेरे लिए एक वास्तविक खोज थी।
18GerPD8fY4iTbNpC9hHNXNHyrDMampPLA
है? मुझे यकीन है कि हर कोई जानता है और मैं सिर्फ बेवकूफ हूं, लेकिन सिर्फ मामले में ...