Fichiers config et properties

Résolu/Fermé
ykassemi Messages postés 4 Date d'inscription mercredi 4 juillet 2012 Statut Membre Dernière intervention 7 mars 2014 - Modifié par ykassemi le 4/07/2012 à 16:51
 Utilisateur anonyme - 21 juil. 2012 à 16:43
Bonjour,
j'ai un fichier config, un fichier properties et un jar.
le jar contient les classes qui sont utiliser dans les beans du fichier config.
le fichier properties contient des variables qui sont utilisées dans le fichier config.
le fichier config contient des beans.
le but est que je doit faire fonctionner tout ceci sur eclipse.
le problème est que je ne sais pas par quoi commencer ni comment faire (je suis débutant en java).
j'ai fait des recherches et j'ai pu constater que c'est du spring si j'ai raison comment je doit faire si non veuillez me proposer des solutions.
merci d'avance.
A voir également:

1 réponse

Utilisateur anonyme
21 juil. 2012 à 16:43
Salut!

Effectivement,, d'après ce que tu dis, tu pourrais utiliser Spring.

Tu dois déclarer un PropertyPlaceHolder dans ton fichier de configuration Spring (que l'on nomme application.xml par défaut).
Ce PropertyPlaceHolder dois pointer vers ton fichier properties (chemin relatif par rapport à la racine de ton projet).
Imaginons que:
- ton fichier properties s'appelle "datasource.properties" et il se trouve dans le répertoire "props" sous la racine de ton projet
- ton fichier properties contient plusieurs paires clé-valeurs:
dataSource.url.hacktrack=jdbc:oracle:thin:@hacktrack.intra:1521:HTDB
dataSource.driverClassName.hacktrack=oracle.jdbc.OracleDriver
dataSource.userName.hacktrack=UNNOMDUTILISATEUR
dataSource.password.hacktrack=UNMOTDEPASSE
dataSource.jndi.hacktrack=java:OracleDB

Alors ton fichier de configuration ressemblera à ceci:
<beans xmlns="bla bla bla ...">

       <!-- Déclare ici les beans qui se trouvent dans ton fichier jar
              et dont tu as besoin -->
	<bean id="dataSource.core.Oracle"		class="org.springframework.jdbc.datasource.DriverManagerDataSource"
		p:driverClassName="${dataSource.driverClassName.hacktrack}" p:url="${dataSource.url.hacktrack}"
		p:username="${dataSource.userName.hacktrack}" p:password="${dataSource.password.hacktrack}" />
		
	<bean id="propertyFileLoader"		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
			    <value>classpath:props/config.properties</value>
			    <value>classpath:props/datasource.properties</value>
			</list>
		</property>
	</bean>
</beans>


Spring va instancier un objet du type "org.springframework.jdbc.datasource.DriverManagerDataSource" en lui passant les valeurs correspondantes du (ou des) fichier(s) properties.

Tu remarqueras que j'ai même déclaré 2 fichiers properties. Toutes leurs paires clés/valeurs seront chargées par Spring et peuvent être utilisées pour initialiser certaines attributs des beans que tu déclares.
Les fichiers sont chargés dans l'ordre où tu les déclares. Si la même clé se trouve dans les deux fichiers, la dernière valeur chargée (dans config.properties) écrasera la première (dans datasource.properties).

Si tu veux plus de renseignements ou d'aide, poste le contenu du fichier properties et du fichier de configuration.

;-)
HackTrack
0