spring と spring mvc を使用して小さなプロジェクトを開始しました。ドメイン クラスとサービス、および DAO を定義しました。休止状態に春の ORM を使用しています。現在、スプリング テスト (JUnit) を使用して DAO レイヤーをテストしようとしています。
このために、私はグーグルで例を見つけました。テスト用に以下のコードを使用していますが、
ORMTest.java (JUnit テスト クラス)
package org.droidaceapps.tests;
import org.droidaceapps.domain.Users;
import org.droidaceapps.services.UserServiceInter;
import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
@ContextConfiguration
public class SterlingTest extends AbstractTransactionalJUnit4SpringContextTests {
@Test
public void userDAOTest(){
UserServiceInter userService = (UserServiceInter)
super.applicationContext.getBean("userService");
Users userSrinivas = new Users();
userSrinivas.setName("Srinivas");
userSrinivas.setPassword("techno890");
String[] skills = {"java","c++"};
userSrinivas.setSkills(skills);
userService.createUser(userSrinivas);
}
}
以下は私のテスト構成ファイルです (このファイルは ORMTest.java ファイルと同じフォルダーに配置されています。
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>/org/droidaceapps/domain/users.hbm.xml</value>
</list>
</property>
</bean>
ユーザー.hbm.xml
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping >
<class name="org.droidaceapps.domain.Users" table="users" >
<id name="id" column="id" type="java.lang.Long">
<generator class="increment"/>
</id>
<property name="name" type="string"/>
<property name="password" type="string"/>
</class>
</hibernate-mapping>
ORMTest.java を実行すると、コンソールに以下の出力が表示されます。
Aug 14, 2012 7:18:53 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [org/droidaceapps/tests/ORMTest-context.xml]
Aug 14, 2012 7:18:54 AM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.GenericApplicationContext@ebe9f73: startup date [Tue Aug 14 07:18:54 BST 2012]; root of context hierarchy
Aug 14, 2012 7:18:54 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@250606f7:
Bean の定義 [org.springframework.context.annotation.internalConfigurationAnnotationProcessor、org.springframework.context.annotation.internalAutowiredAnnotationProcessor、org.springframework.context.annotation.internalRequiredAnnotationProcessor、org.springframework.context.annotation.internalCommonAnnotationProcessor、org.springframework.context.annotation .internalPersistenceAnnotationProcessor、org.springframework.web.servlet.view.InternalResourceViewResolver#0、dataSource、sessionFactory、hibernateTemplate、userDAO、userService]; ファクトリ階層のルート
データベースにテーブルが作成されていません。また、休止状態によって作成されたコンソールに SQL ステートメントも表示されません。
何か不足していますか?
ありがとう