سؤال

أنا أتابع بعض الإرشادات في برنامج تعليمي لإعداد Stripes MVC مع تكامل الربيع ، وأحاول دمج DBUnit لتهيئة ديسيبل الخاص بي عند بدء التشغيل ، لذلك لا أضطر إلى إضاعة الوقت يدويًا في كل مرة. لسوء الحظ ، لا يمكنني ربط البرنامج التعليمي باعتباره من كتاب إلكتروني مدفوع.

في web.xml لقد أشرت إلى الربيع

<listener>
        <listener-class>
    org.springframework.web.context.ContextLoaderListener
        </listener-class>
</listener>

في Application Context.xml ، قمت بإعداد الفاصوليا التالية

    <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>

أشياء يجب ملاحظة:

  1. يحتوي مصدر البيانات على نفس التفاصيل persistence.xml, ، إذا قمت بإدخال البيانات يدويًا ، فهي تعرض في طلبي ، لذلك يجب أن تكون تفاصيل الاتصال جيدة
  2. لقد وضعت نقاط توقف في بلدي DBUnitBootstrapper الفصل ، ولكن هذه لا يتم القبض عليها أبدًا ، مما يؤديني إلى تصديق أن هذه الفاصوليا لم يتم تهيئتها.
  3. ال testdata.xml يوجد ملف في المكان الصحيح ، لديّ أبسط كائنات المجال مع معرف وعدد قليل String صفات
  4. في ال testdata.xml, ، إذا قمت بتغيير المعرف من 1 إلى abc أحصل على numberFormatException في إخراج وحدة التحكم ، لذلك يبدو أن التطبيق يقرأ ملف البيانات ويحاول إدخاله

هل فاتني شيء واضح؟ ماذا يمكنني أن أفعل؟ لقد طرحت هذا السؤال على جافارانش لكنني لم أتمكن من الحصول على الكثير من المساعدة حتى الآن. هذا لمشروع التعلم الشخصي ، لذلك سيكون من الرائع إحراز بعض التقدم :)

هل كانت مفيدة؟

المحلول

يبدو أنك نسيت تعيين أ dataSource الممتلكات في dbUnitBootstrapper

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top