2013-01-10 42 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'轉換爲文件(!)。 –