2012-05-16 12 views
6

मुझे कुछ (String, स्पष्ट रूप से) संपत्ति मिली है जो मैं कुछ अंकगणित करने से पहले int में परिवर्तित करना चाहता हूं और इसे अपने वसंत बीन में इंजेक्ट करता हूं। अभी मैं इस स्पेल अभिव्यक्ति है:स्प्रिंग एक्सप्रेशन भाषा (एसपीईएल): पार्स स्ट्रिंग int

#{T(java.lang.Integer).parseInt(myProperties['MIN_TIME']) * 60 * 1000} 

जहां myProperties एक सरल java.util.Properties सेम है।

यह नहीं कि मैं विशेष रूप से इस अभिव्यक्ति से नाराज हूं, लेकिन फिर भी: क्या स्पेल के पास संख्यात्मक मूल्यों में तारों को पार्स करने के लिए एक सुंदर, अंतर्निहित तरीका है?

धन्यवाद!

उत्तर

9

ऐसा नहीं लगता है, उदा। कैसे डेवलपर्स उन्हें यहाँ बनाने को देखो: https://jira.springsource.org/browse/SPR-8716

एक थोड़ा छोटा संस्करण यह करने के लिए एक और तरीका हो सकता है

#{new Integer(myProperties['MIN_TIME']) * 60 * 1000} 
+0

यह करेगा। धन्यवाद! –

+0

क्या एनोटेशन के लिए ऐसा कुछ करना संभव है? ** @ आकार ((न्यूनतम = "# {नया इंटीजर (एप्लिकेशनप्रॉपर्टीज [size.min])}" निजी int आकार; ** – luksmir

+0

@luksmir मुझे नहीं पता। नया सवाल पूछना सबसे अच्छा है – artbristol

0

एक गुण सेम, ... xmlns परिभाषित करने के लिए util नाम स्थान का उपयोग करने के लिए है : util = "http://www.springframework.org/schema/util" ... http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util-3.1.xsd ...

<util:properties id="apiProperties" 
    location="classpath:/api.properties" /> 
,210

तो गुण सेम

@Value("#{apiProperties['api.orders.pingFrequency']}") 
private Integer pingFrequency; 

वसंत गुण संदर्भ द्वारा उत्पन्न मूल्य असाइन करने से पहले पार्स और रूपांतरण करना होगा सेम util के लिए वैकल्पिक सिंटैक्स का उपयोग करें।

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