Bonjour,
Je suis en train de me familiariser avec Spring.
Pour celà, je m'écris une petite application qui utilise une base de données MySQL.
Afin de paramétrer au maximum l'application, je déclare dans mon fichier "ApplicationContext" des propriétés de la base à chercher dans un fichier properties.
Début de mon fichier applicationContext.xml
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
28
29 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <!-- Déclaration du PropertyPlaceholderConfigurer --> <bean id="propertyPlaceholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>genealogie.properties</value> </list> </property> </bean> <!-- la base de données --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>${driver}</value> </property> <property name="url"> <value>${URL}</value> </property> <property name="username"> <value>${user}</value> </property> <property name="password"> <value>${password}</value> </property>
Fichier properties
j'ai une erreur qui s'affiche dans ma JSP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5driver=org.gjt.mm.mysql.Driver URL=jdbc:mysql://localhost:3306/Genealogie user=root password=
Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class '${driver}'
Pour info :
- si je renseigne les valeurs en dur dans mon applicationContext => çà marche,
- si je saisis une valeur fausse ("driver2" au lieu de "driver") j'ai bien une erreur m'indiquant que mon fichier properties ne connait pas la valeur
=> donc les variables coïncides entre mon propertie et mon context.
Si vous avez une idée, elle sera la bienvenue.
Merci, d'avance.
Partager