如何使用今天的日期传递文件名值属性

时间:2015-05-08 14:03:53

标签: java spring configuration file-properties

   <bean id="FileWriter" class="com.sample.FileWriter">
          <constructor-arg value="${path.to.output}"/>
          <constructor-arg value="${filename}"/>
   </bean>

我想使用spring从属性文件传递今天日期的文件名,以便在类中不进行硬编码。这可能吗?

文件名我想传递F_IN_1243_MMDDYYYY.xml,其中MMDDYYYY是今天的日期?

3 个答案:

答案 0 :(得分:1)

您应该能够创建bean原型范围并在属性表达式中包含java方法调用。类似的东西:

   <bean id="FileWriter" class="com.sample.FileWriter" scope="prototype">
          <constructor-arg value="${path.to.output}"/>
          <constructor-arg value="#{T(Utils).filename()}"/>
   </bean>

其中Utils.filename ()是一个调用SimpleDateFormat并组成文件名的实用程序方法。

答案 1 :(得分:0)

您是否可以在构造函数或FileWriter的其他方法中获取Calendar对象的当前日期并使用传入的文件名作为文件前缀?

答案 2 :(得分:0)

您可以使用Spring Expression Language(SpEL)。

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html

您应该能够做到这样的事情:

<constructor-arg value="#{new SimpleDateFormat('MMddyyyy').format(new Date())}"/>

使用#而不是$并添加必要的依赖项。