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 :

conmment récupérer une valeur dans app.proprieties


Sujet :

Spring Boot Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut conmment récupérer une valeur dans app.proprieties
    Bonjour ,
    je souhaite vérifier que mes liens son correctement écrits.
    voici mon fichier app.proprieties:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    server.port=4230
     
    UPLOADED_TMP=/home/tmpUpld/
    DESTINATION=C:\\xampp\\htdocs\\dashboard\\images\\

    comment je dois faire pour obtenir ces valeurs ?

    j'ai essayer ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.SpringApplication;
     
    import org.springframework.boot.autoconfigure.SpringBootApplication;
     
    import org.springframework.context.annotation.Bean;
    import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
     
    @SpringBootApplication
     
    public class Test {
     
     
    	@Value("${UPLOADED_TMP}")
    	private static String UPLOADED_TMP;
     
    	@Value("${DESTINATION}")
    	private static String DESTINATION;
     
    	public static void main(String[] args) {
                     .....
    		System.out.println(UPLOADED_TMP+"<=== TMP");
    		System.out.println(DESTINATION+"<=== FTP");
    	}
    ma console m'indique null

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    null<=== TMP
    null<=== FTP
    comment je dois procéder pour voir les bon chemins ?
    merci de vos réponses

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2013
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2013
    Messages : 131
    Par défaut
    Salut,

    Tu utilises des expressions de Spring mais ton application ne cree pas de contexte Spring. L'annotation @SpringBootApplication n'est pas sufisante.
    Essaye cela :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public static void main(String[] args) {
    	SpringApplication.run(Application.class, args);
    }

    Ou cet outil pour generer le contexte de ton application : https://start.spring.io/

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci de la réponse, j'avais mis de ".." mais c'était la ligne que je n'ai pas mis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    public class KodCms {
     
     
    	@Value("${UPLOADED_TMP}")
    	private static String UPLOADED_TMP;
     
    	@Value("${DESTINATION}")
    	private static String DESTINATION;
     
    	public static void main(String[] args) {
    		SpringApplication.run(KodCms.class, args);
    		System.out.println("27 mars STRIP __________ okdSQL:8181 ");
    		System.out.println(UPLOADED_TMP+"<=== TMP");
    		System.out.println(DESTINATION+"<=== FTP");
    	}
     
    	@Bean
    	public BCryptPasswordEncoder getBCPE() {
    		return new BCryptPasswordEncoder();
    	}
    public String getValue()
     {
      return DESTINATION;
     }
    je vais jeter un oeil sur le lien

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    Spring Boot n'est pas trop fait pour les trucs static, tu sais. @Value ça s'applique à des membres d'instance, pas static.

    ... Et donc, de ce fait, il faut se servir de l'instance dont les valeurs ont été renseignées. A l'intérieur de l'appel à SpringApplication.run() donc, pas après.
    Autrement dit, en principe public static void main() contient l'appel à SpringApplication.run() et absolument rien d'autre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 222
    Par défaut
    merci de ta réponse,

    j'ai trouvé comment on la récupère tout cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    import org.springframework.beans.factory.annotation.Value;
    @RestController
    public class BouchonService {
        @Value("${server.port}")
        private String serverPort;
        @Value("${UPLOADED_TMP}")
        private String UPLOADED_TMP;
     
            HashMap<String, String> map = new HashMap<>();
            map.put("serveurPort", serverPort);
            map.put("UPLOADED_TMP", UPLOADED_TMP);
    je fait des test unitaires, ayant 2 serveur je voulais vérifier que je suis dans le bon serveur et dossier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer une valeur dans une JList
    Par Noosymer dans le forum Composants
    Réponses: 6
    Dernier message: 17/06/2010, 23h53
  2. [VBA-A] Récupérer une valeur dans une table Access
    Par Dude2006 dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/04/2006, 23h56
  3. récupérer une valeur dans un selected
    Par lacfab dans le forum Langage
    Réponses: 6
    Dernier message: 14/12/2005, 09h48
  4. Réponses: 5
    Dernier message: 09/09/2005, 17h51
  5. problème pour récupérer une valeur dans ma bd (débutante)
    Par auryn111 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 26/08/2005, 17h49

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