简体   繁体   English

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

[英]How to do arithmetic in Spring properties, with values from a properties file?

Example use-case: properties file passes in a numeric value in millis, and you want to use it in seconds. 用例示例:属性文件以毫秒为单位传入一个数值,您想在几秒钟内使用它。

Your .properties file: 您的.properties文件:

jdbc.timeout= 2000 jdbc.timeout = 2000

Your applicationContext.xml currently 您的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>

You want the validationQueryTimeout value to be in seconds, how do you convert it? 您希望validationQueryTimeout值以秒为单位,如何转换它?

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM