2012-05-16 4 views
6
için

Bazı aritmetik işlemlerden önce ve benim Spring Bean'ım içine enjekte etmeden önce bir int'a dönüştürmek istediğim bir (String, açıkçası) özelliği var. Şu anda bu Spel ifadesini vardır: myProperties basit java.util.Properties fasulye olduğunuSpring expression language (SpEL): ayrıştırma String

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

.

Özellikle bu ifade tarafından rahatsız olduğumu değil, ancak: SpEL dizeleri sayısal değerlere ayırmak için daha güzel, yerleşik bir yolu var mı?

Teşekkürler!

cevap

9

Böyle görünmüyor, ör. geliştiriciler burada bunları oluşturmak nasıl bakmak: https://jira.springsource.org/browse/SPR-8716

biraz daha kısa versiyonu Bunu yapmanın bir başka yolu

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

Bunu yapacaktır. Teşekkürler! –

+0

Ek açıklamalar için böyle bir şey yapmak mümkün mü? ** Boyut ((min = "# {new Tamsayı (applicationProperties [size.min])}") özel int boyutu; ** – luksmir

+0

@luksmir Bilmiyorum. Yeni bir soru sormak en iyisidir – artbristol

0

olabilir, ... xmlns bir özellikler fasulye tanımlamak için util ad kullanmaktır : 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" /> 

sonra özellikleri fasulye

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

değer atama önce ayrıştırma ve dönüşüm yapacak kapsamında üretilen özellikleri fasulye util yay için alternatif sözdizimini kullanın.