<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="Job1" />
<property name="repeatInterval" value="1" />
</bean>
我想从属性文件 (value = "${jobs.per.second}
") 中加载 value
,该文件将被操作。
例如:jobs.properties
文件将有:jobs.per.second = 500
我想使用算术运算(将其反转并乘以 1000)(1/500 * 1000 = 2)
并用 value = 2
代替 1。
我该怎么做?有没有办法在xml中启用算术运算?
编辑:我正在使用 Spring 3。
最佳答案
您没有提及您使用的是哪个版本的 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 的更多信息
关于java - 如何在 Spring 属性中进行算术运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7909475/