JdbcTemplate + DriverManagerDataSource
Bonjour,
je débute en Spring et j'ai quelques questions ...
dans mon fichier applicationContext, je déclare ma dataSource comme ce ci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<!-- beans datasource -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.sybase.jdbc2.jdbc.SybDriver</value>
</property>
<property name="url">
<value>jdbc:sybase:Tds:xxx.xxx.xxx.xxx:xxxx/dbParameter</value>
</property>
<property name="username">
<value>xxxx</value>
</property>
<property name="password">
<value>xxxx</value>
</property>
</bean> |
dans le meme fichier je charge ma classe d'implémantation de ma DAO et je lui passe ma "dataSource":
Code:
1 2 3 4 5 6 7
|
<!-- L'implémentation de la couche d'access aux données -->
<bean id="maClasseImpl" class="xxx.dao.MaClasseImpl" >
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean> |
ma question est la suivante :
j'ai besoin d'une instance de JdbcTemplate dans ma classe "MaClasseImpl", et pour celà j'ai besoin d'une instance de ma "dataSource".
comment faire pour avoir cette instance ?
voici le code de ma classe "MaClasseImpl" :
Code:
1 2 3 4 5 6 7 8
|
public class MaClasseImpl implements MaClasse{
JdbcTemplate jdbcTemplate = new JdbcTemplate((DriverManagerDataSource) new DefaultListableBeanFactory().getBean("dataSource"));
...................
} |
ou bien suffit juste d' un truc du genre :
Code:
1 2 3 4 5 6 7 8
|
public class MaClasseImpl implements MaClasse{
private DriverManagerDataSource ds;
JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);
...................
} |
Autre question, faut il que je crée une classe java de type DriverManagerDataSource ?
je trouve aucune méthode dans la classe JdbcTemplate pour fermer la connexion aprés ma requéte...
Merci d'avance.
Modéré par zekey : Pensez aux balises codes svp