/ / स्प्रिंग एमवीसी 2.5: गुण फ़ाइल लोड करने का तरीका - जावा, स्प्रिंग-एमवीसी

वसंत एमवीसी 2.5: गुण फ़ाइल लोड करने के लिए कैसे - जावा, वसंत-एमवीसी

मुझे कई संपत्तियों की फ़ाइलों को लोड करने की आवश्यकता है, जो संसाधन फ़ोल्डर में हैं।

मेरे पास नीचे सामग्री के साथ 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>