2013-01-10 17 views
3

是否可以直接在配置中实例化类型为java.io.File的属性? 喜欢的东西:Spring框架中的文件类型支持

<property><file path="..." /></property> 

一个可能的解决方法是使用一个字符串属性,同时设置它,创建该文件的实例。有没有更直接的方法来实现这一点?

谢谢!

回答

4

是的,你可以做到这一点。简单地传递文件的名称作为属性的值:

<bean> 
    <property name="myFile" value="path-to-file"/> 
</bean> 

Spring将自动为您创建的java.io.File的一个实例,并注入到你的bean。

+0

很酷,很有效! – Neel

3

当然,只是<constructor-arg/>把它定义为<bean/>

<property> 
    <bean class="java.io.File"> 
     <constructor-arg value="/foo/bar.txt"/> 
    </bean> 
</property> 
+0

Thanks Tomasz!但是,正如下面的建议,这似乎是一个毫不费力的直接配置 - 你看到使用它的任何问题? – Neel

+0

@Neel:如果* benw *提供的语法有效,我没有看到任何错误(+1给他)。我不知道Spring可以直接将'String'转换为文件(!)。 –