<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="Job1" />
<property name="repeatInterval" value="1" />
</bean>
我想从属性文件(value
“)加载value = "${jobs.per.second}
,这将被操纵。
例如:jobs.properties
文件将包含:jobs.per.second = 500
我想使用算术运算(将其反转并乘以1000)(1/500 * 1000 = 2)
并用value = 2
代替1。
我该如何解决?有没有办法在xml中启用算术运算?
编辑:我正在使用Spring 3.
答案 0 :(得分:11)
你没有提到你正在使用的是哪个版本的Spring,但是Spring 3.0附带了Spring EL(表达式语言),它允许你在XML bean定义中使用表达式(以及其他地方,比如@Value)注释)。
<util:properties id="properties" location="classpath:jobs.properties"/>
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="Job1" />
<property name="repeatInterval" value="#{ 1000 / properties['jobs.per.second'] * 100.0 }" />
</bean>
您可以阅读有关Spring EL here
的更多信息