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:

  1. 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
  2. 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.
  3. le fichier testdata.xml existe au bon endroit, j'ai des objets de domaine le plus simple avec un identifiant et quelques attributs String
  4. Dans la testdata.xml, si je change l'ID de 1 à abc je reçois un numberFormatException 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:)

Était-ce utile?

La solution

Il semble que vous avez oublié de définir une propriété dataSource dans dbUnitBootstrapper

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top