如何在Spring属性中进行算术运算?

10 java xml spring properties

<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
        <property name="jobDetail" ref="Job1" />
        <property name="repeatInterval" value="1" />
    </bean>
Run Code Online (Sandbox Code Playgroud)

我想value从属性文件(value = "${jobs.per.second}")加载,它将被操纵.

例如:jobs.properties文件将具有:jobs.per.second = 500

我想使用算术运算(将其反转并乘以1000)(1/500*1000 = 2)并替换value = 2为1.

我该怎么办呢?有没有办法在xml中启用算术运算?

编辑:我使用的是Spring 3.

And*_*ate 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>
Run Code Online (Sandbox Code Playgroud)

您可以在这里阅读有关Spring EL的更多信息