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 Java Discussion :

Spring properties code Java [Framework]


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut Spring properties code Java
    Bonjour,

    J'aimerai utiliser des properties dans mes méthodes java.
    Ex :
    fichier.properties
    application.name=toto

    Dans mon fichier de configuration spring je met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
         <property name="basenames"> <!-- Liste des fichiers à utiliser, présents dans le classpath. -->
              <list>
                   <value>classpath:/fichier.properties</value>
              </list>
         </property>
         <property name="alwaysUseMessageFormat" value="true" /> <!-- Formatage de tous les messages. -->
         <property name="useCodeAsDefaultMessage" value="true"/> <!-- Utilise le code en tant que valeur par défaut. -->
         <property name="cacheSeconds" value="10" /> <!-- Taux de rafraîchissement des messages mis en cache. -->
    	 </bean>
    Puis j'aimerai récupérer dans ma méthode java, la propriété : application.name. Je ne sais pas comment faire ?

    Dois-je écrire une méthode pour charger les properties (sans passer par spring) ?

    Merci d'avance.

  2. #2
    Membre très actif
    Avatar de Khaled.Noordin
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 354
    Billets dans le blog
    1
    Par défaut
    salut
    imaginons que tu as un fichier database.properties sur le chemin src/test/resources/datasets/ tel que:
    Code txt : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    database.url=jdbc:h2:mem:basis-dao;DB_CLOSE_DELAY\=-1
    database.driverClassName=org.h2.Driver
    database.username=sa
    database.password=
    database.database=H2
    database.showSql=true
    database.hibernate.dialect=org.hibernate.dialect.H2Dialect
    database.hibernate.hbm2ddl.auto=create
    database.dataSet=src/test/resources/datasets/foo.xml

    un fichier de conf tel que :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:p="http://www.springframework.org/schema/p"
           xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
     
     
        <context:property-placeholder location="classpath*:*.properties"/>
    </beans>

    une classe tel que :
    Code java : 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
     
    package dummy
     
    import org.springframework.beans.factory.annotation.Value
     
    public class Foo {
     
        @Value("${database.dataSet}")
        private String dataSet
     
        public String getDataSet() {
            return dataSet
        }
     
        public void setDataSet(String dataSet) {
            this.dataSet = dataSet
        }
    }

    alors a tout moment dataSet contient la valeur "src/test/resources/datasets/foo.xml"

    deux autres possibilités sont de rendre ta classe applicationContextAware, ou d'utiliser WebApplicationContextUtils si t'es dans une appli web et son pendant SE doit exister.
    Enfin tout ça c'est très bien expliqué dans "Spring par la pratique"(Eyrolles) et/ou la doc officiel de référence sur le site springsource

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Par défaut
    merci c'est parfait

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/05/2013, 17h22
  2. Réponses: 31
    Dernier message: 27/12/2010, 12h26
  3. [andromda]Infos sur andromda, générateur de code JAVA
    Par ugos dans le forum EDI et Outils pour Java
    Réponses: 5
    Dernier message: 08/09/2009, 15h30
  4. Recherche de Logiciel d'audit de code java
    Par K-ro dans le forum Qualimétrie
    Réponses: 4
    Dernier message: 12/10/2004, 17h54

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