Bonjour à tous,

Dans mon application, pour connecter celle-ci à la base, actuellement j'utilise ce paramétrage :
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
...
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://url:port/bdd" />
        <property name="username" value="user" />
        <property name="password" value="pass" />
        <property name="validationQuery" value="select 1" />
    </bean>
 
    <bean id="mySessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.connection.release_mode">auto</prop>
                <prop key="hibernate.bytecode.provider">javassist</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.cache.use_second_level_cache">false</prop>
                <prop key="hibernate.hbm2ddl.auto">create-drop</prop>
            </props>
        </property>
...
Injection dans ma classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
    @Autowired
    private SessionFactory sessionFactory;
 
    public void setSessionFactory(SessionFactory sessionFactory) {
        this.sessionFactory = sessionFactory;
    }
Ca fonctionne parfaitement mais j'aimerai pouvoir 'externaliser' les paramètres de connexion à ma BasicDataSource via un fichier META-INF/context.xml

Il me semble qu'avec des annotations telles que @Ressource il est possible de récupérer des infos depuis ce fichier context.xml mais je ne sais pas comment gérer tout ça avec ma BasicDataSource....

Quelqu'un saurait-il m'expliquer comment faire ?

Merci d'avance pour votre aide.