2016-12-07 3 views
0

J'ai un projet Spring qui crée des fichiers XML. Comment puis-je définir l'emplacement du dossier, où les fichiers doivent être écrits dans application.properties?Comment définir un emplacement de dossier dans application.properties?

Dans mon code:

StreamResult result2 = new StreamResult(new File("D:\\HealthCheck\\status.xml")); 

Ici, je passe l'emplacement du fichier dans le code.

Mais comment puis-je définir dans le fichier application.properties afin que nous puissions changer la destination dans le fichier application.properties et transmettre ce fichier via la ligne de commande.

Comment y parvenir? S'il vous plaît aider.

Répondre

1

Toutes les propriétés que vous définissez dans application.properties sont disponibles via la classe Environment de Spring. Vous pouvez simplement injecter l'objet Environment dans votre classe et lire une config comme param ceci:

application.properties:

myApp.folder=D:\\HealthCheck 

MyClass.java:

@Component 
public class MyClass{ 

    @Autowired 
    Environment environment; 

    public void doStuff(){ 
     String folder = environment.getProperty("myApp.folder"); 
     StreamResult result2 = new StreamResult(new File(folder + "\\status.xml")); 
    } 

} 
+0

Quelle est la paquet de l'environnement? –

+0

org.springframework.core.env.Environment – Tom

+0

Merci @Tom Encore une question idiote. Lorsque j'utilise Environnement, il affiche org.springframework.core.env.Environment Environemnt env; Comment importer ce paquet? Ajouter une dépendance? –