如何使用属性文件中的值在Spring属性中进行算术运算?

时间:2013-08-15 17:34:12

标签: java spring spring-el

示例用例:属性文件以毫秒为单位传递数值,并且您希望在几秒钟内使用它。

您的.properties文件:

  

jdbc.timeout = 2000

您的applicationContext.xml目前

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">       
   <property name="driverClassName" value="com.mysql.jdbc.Driver" />        
   <property name="url"value="jdbc:mysql://myserver/mydb" />
   <property name="username" value="user" />        
   <property name="password" value="changeme" />        
   <property name="validationQuery" value="SELECT 1;"/>         
   <property name="validationQueryTimeout" value="${jdbc.timeout}" />
</bean>

您希望validationQueryTimeout值以秒为单位,如何转换它?

1 个答案:

答案 0 :(得分:5)

如果您使用的是Spring 3.0或更高版本,则可以使用SpEL表达式中的属性,如下所示:

   <property name="validationQueryTimeout" value="#{${jdbc.timeout}/1000}" />