IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Boot Java Discussion :

Comment référencer une clé définie dans un fichier dans le fichier application.properties ?


Sujet :

Spring Boot Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 56
    Points
    56
    Par défaut Comment référencer une clé définie dans un fichier dans le fichier application.properties ?
    Bonjour à tous,

    Dans mon projet Springboot il y a un fichier nommé .env défini au niveau de la racine du projet. Ce fichier contient des clés-valeur, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    APP_FRONT_URL=http://localhost:8080
    APP_API_URL=http://localhost:8081
    APP_SITE_URL=http://localhost:8082
    APP_PRINT_URL=http://localhost:5000
    Alors, dans le fichier application.properties j'aimerai référencer la clé APP_API_URL. Comment procéder ?

    Merci beaucoup d'avance

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Vu le nom et la casse des fichiers, ça ressemble à des variable d'environnement qui sont supposée intégrée à ton application avant le run. Il faudrait voir quel outil est censé les lire dans ton projet pour les injecter. (Docker?)
    A ma connaissance, c'est plutot nodejs qui utilise ça, pas java. Vu son contenu on dirait d'ailleurs un truc pour nodejs

    Je vois plusieurs cas de figure:

    1) ce sont bien des variables d'environnement, et ton application n'a pas à se charger de lire ce fichier.


    Dans ce cas, il suffit de référencer des variables dans le properties, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mon.api.a.utiliser=${APP_API_URL}/api/v1
    2) t'as besoin de ces valeurs pour travailler en java mais c'est pas mis en environnement. Recopie les simplement dans ton application.properties et te casse pas la tête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    app.front.url=http://localhost:8080
    app.api.url=http://localhost:8081
    app.site.url=http://localhost:8082
    app.print.url=http://localhost:5000
    mon.api.a.utiliser=${app.api.url}/api/v1
    3) Tu veux absolument utilise ce fichier là depuis springboot, ce qui semble bizarre.

    3.1) mode automatique: Tu va devoir mettre dans ton springboot qu'il faut le charger et le placer à un endroit où il le trouvera (dans les resources typiquement)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    @SpringBootApplication
    @PropertySource("classpath:.env")
    public class Application {
    Ensuite, c'est comme le point 1

    3.2) mode "à la demande". Lorsque tu lance ton application, tu rajoute le paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    --spring.config.location=.env
    à la ligne de commande.


    D'une manière générale, je trouve que tu fais un machin suspect, faudrait plus de contexte de ton projet pour comprendre.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/12/2008, 16h12
  2. Comment chercher une chaine hexa dans un fichier ?
    Par marchphi dans le forum Langage
    Réponses: 4
    Dernier message: 26/02/2008, 07h59
  3. Réponses: 10
    Dernier message: 08/02/2007, 13h18
  4. Réponses: 4
    Dernier message: 19/06/2006, 20h38
  5. Réponses: 5
    Dernier message: 25/04/2006, 09h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo