bean Spring pas d'initialisation (de DBUnit); qu'ai-je manqué?
Question
Je suivant quelques directives dans un tutoriel pour la mise en place Stripes MVC avec l'intégration de printemps, et je suis en train d'intégrer DBUnit à mon DB initialiser au démarrage, donc je ne dois pas perdre du temps d'insérer manuellement les données à chaque fois. Malheureusement, je ne peux pas lier le tutoriel comme d'un livre électronique payé.
Dans mon web.xml j'ai référencé printemps
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
Dans mon applicationContext.xml j'ai installé les grains suivants
<bean id="dbUnitBootstrapper" class="com.jameselsey.salestracker.testing.DBUnitBootstrapper"
init-method="execute">
<property name="enabled" value="true"/>
<property name="operations">
<list>
<bean class="org.dbunit.ant.Operation">
<property name="type" value="CLEAN_INSERT"/>
<property name="src" value="classpath:testdata.xml"/>
</bean>
</list>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.apache.derby.jdbc.ClientDriver"/>
<property name="url" value="jdbc:derby://localhost:1527/salestracker"/>
<property name="username" value="admin"/>
<property name="password" value="admin"/>
</bean>
Les choses à noter:
- La source de données a les mêmes détails que mon
persistence.xml
, si j'insérer des données qu'il affiche manuellement dans mon application, de sorte que les détails de connexion doit être bien - J'ai mis des points d'arrêt dans ma classe de
DBUnitBootstrapper
, mais ceux-ci ne sont jamais pris, me conduit à croire ce haricot ne soit pas initialisés. - le fichier
testdata.xml
existe au bon endroit, j'ai des objets de domaine le plus simple avec un identifiant et quelques attributsString
- Dans la
testdata.xml
, si je change l'ID de1
àabc
je reçois unnumberFormatException
dans la sortie de la console, il semble que l'application est la lecture du fichier de données et en essayant d'insérer
Ai-je manqué quelque chose évidente? Que puis-je faire d'autre? J'ai posé cette question sur JavaRanch mais je ne l'ai pas été en mesure d'obtenir beaucoup d'aide à ce jour. Ceci est un projet d'apprentissage personnel de sorte qu'il serait bien de faire des progrès:)
La solution
Il semble que vous avez oublié de définir une propriété dataSource
dans dbUnitBootstrapper