2013-01-10 3 views
3

Est-il possible d'instancier une propriété de type java.io.File directement dans la configuration? Quelque chose comme:Prise en charge de type de fichier dans Spring framework

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

Une solution possible serait d'utiliser une propriété de chaîne et tout en établissant, créez l'instance de fichier. Y a-t-il un moyen plus direct d'y parvenir?

Merci!

Répondre

4

Oui, vous pouvez le faire. Il suffit de passer le nom du fichier que la valeur de la propriété:

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

Spring crée automatiquement une instance de java.io.File pour vous et l'injecter dans votre haricot.

+0

Cool, ça marche! – Neel

3

Bien sûr, tout le définir comme <bean/> avec <constructor-arg/>:

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

Merci Tomasz! Mais comme cela est suggéré ci-dessous, cela semble être une configuration plus simple - vous voyez des problèmes avec l'utilisation de cela? – Neel

+0

@Neel: si la syntaxe fournie par * benw * fonctionne, je ne vois rien de mal à cela (+1 à lui). Je ne savais pas que Spring pouvait convertir 'String' en fichier directement (!). –

Questions connexes