मुझे कई संपत्तियों की फ़ाइलों को लोड करने की आवश्यकता है, जो संसाधन फ़ोल्डर में हैं।
मेरे पास नीचे सामग्री के साथ abc_en.properties नामक एक संसाधन है:
a = x
b = y
c = z
और मुझे जावा विधि में java.util.Properties के गुण गाने की जरूरत है:
java.util.Properties reportProperties = new java.util.Properties();
...
String a = reportProperties.getProperty("a");
मैं यह कैसे कर सकता हूँ?
धन्यवाद
उत्तर:
उत्तर № 1 के लिए 4आपको अपनी संदर्भ फ़ाइल में गुणसंपर्क बीन को परिभाषित करने की आवश्यकता है:
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:abc.properties</value>
<value>classpath:efg.properties</value>
</list>
</property>
</bean>
संपादित करें:
इस्तेमाल करने के लिए java.util.Properties
आपको परिभाषित करने की आवश्यकता है PropertiesFactoryBean
आपकी संदर्भ फ़ाइल में सेम:
<bean id="properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location">
<list>
<value>classpath:abc_en.properties</value>
<value>classpath:abc_fr.properties</value>
</list>
</property>
</bean>
फिर अपनी कक्षा में आपको परिभाषित करने की आवश्यकता है java.util.Properties
परिवर्तनीय और उसमें गुण बीन लोड करें:
public class MyClass {
@Autowired
private java.util.Properties properties;
public void myMethod() {
String a = properties.getProperty("a");
String b = properties.getProperty("b");
String c = properties.getProperty("c");
}
}
गुण बीन को आप कक्षा में लोड करने के अन्य तरीके हैं, लेकिन यदि आप उपयोग करते हैं @Autowired
एनोटेशन, आपको इसे लगाने की आवश्यकता है <context:annotation-config />
तत्व आप संदर्भ फ़ाइल में।
जवाब के लिए 0 № 2
आपको अपने xml फ़ाइल में संदेश स्रोत बीन को परिभाषित करने की आवश्यकता है।
इस तरह से प्रयास करें
<bean id="messageSource" name="applicationMessageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>resources.abc.abc</value>
</list>
</property>
</bean>