2014-10-28 8 views
5

मैंने स्प्रिंग बूट का उपयोग करके थाइमेलीफ के साथ एक सरल वेब एप्लिकेशन बनाया। मैं application.properties फ़ाइल कॉन्फ़िगरेशन के रूप में उपयोग करता हूं। मैं जो करना चाहता हूं वह उस फ़ाइल में नाम और संस्करण जैसे नए गुण जोड़ना और थाइमेलीफ से मूल्यों तक पहुंच बनाना है।स्प्रिंग एक्सप्रेशन भाषा में गुण फ़ाइल एक्सेस करना

मैं एक नया JavaConfiguration वर्ग बनाने और उजागर एक स्प्रिंग बीन द्वारा इस लक्ष्य को हासिल करने में सक्षम है:

<span th:text="${@name}"></span> 

:

@Configuration 
public class ApplicationConfiguration { 

    @Value("${name}") 
    private String name; 

    @Bean 
    public String name() { 
     return name; 
    } 

} 

मैं तो यह बहुत तरह Thymeleaf का उपयोग कर एक टेम्पलेट में प्रदर्शित कर सकते हैं यह अत्यधिक वर्बोज़ और मेरे लिए जटिल लगता है। इसे प्राप्त करने का एक और शानदार तरीका क्या होगा?

यदि संभव हो, तो मैं xml कॉन्फ़िगरेशन का उपयोग करने से बचना चाहता हूं।

उत्तर

18

आप इसे Environment के माध्यम से प्राप्त कर सकते हैं। उदा .:

${@environment.getProperty('name')} 
+0

क्या यह '$ {name}' जैसा नहीं है? –

+0

@ डेवसियर नहीं, यह मेरे लिए 'th: text =" $ {name} "' – cfrick

+0

में काम नहीं कर रहा है, धन्यवाद, यही वही है जो मैं ढूंढ रहा था। मैंने $ {name} को मूल रूप से उपयोग करने का प्रयास किया, लेकिन इसे काम करने के लिए नहीं मिला। किसी भी विचार के रूप में यह @Value हालांकि क्यों काम करता है? – Shishigami

1

यह JavaConfig में यह करने के लिए बहुत आसान है। यहाँ एक उदाहरण है:

@Configuration 
@PropertySource("classpath:my.properties") 
public class JavaConfigClass{ 

    @Value("${propertyName}") 
    String name; 


    @Bean //This is required to be able to access the property file parameters 
    public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer(){ 
     return new PropertySourcesPlaceholderConfigurer(); 
    } 
} 

वैकल्पिक रूप से, इस XML बराबर है:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
     <value>my.properties</value> 
    </property> 
</bean> 

अंत में, आप पर्यावरण चर का उपयोग कर सकते हैं, लेकिन यह बिना किसी कारण के अतिरिक्त कोड का एक बहुत कुछ है।

संबंधित मुद्दे