J'utilise JNDI pour effectuer une recherche de base de données:Remplacer recherche JNDI avec objet fantaisie
<jee:jndi-lookup id="myDataSource" jndi-name="jdbc/mydb"
resource-ref="true" expected-type="javax.sql.DataSource" />
Dans un fichier de contexte de printemps, j'invoque le constructeur en utilisant:
<bean id="myController " class="com.MyController">
<constructor-arg index="0" ref="myDataSource" />
</bean>
Je ne veux plus exposer "myDataSource" via une recherche jndi, donc je crée un objet fantaisie qui est du même type que "javax.sql.DataSource" et l'utilise à la place comme un paramètre de constructeur:
<bean id="myMockDataSource" class="com.mock.MyMockDataSourceConnection">
</bean>
<bean id="myController" class="com.MyController">
<constructor-arg index="0" ref="myMockDataSource" />
</bean>
L'objet fantôme renvoie simplement une connexion factice.
Est-ce la bonne façon d'utiliser plus longtemps la recherche jndi lorsque vous voulez utiliser un objet simulé à la place?