报错信息:
[junit] Testcase: testCreateFileInfo(springmp3.service.FileDaoImplTests):Caused an ERROR
[junit] Error creating bean with name 'sessionFactory' defined in URL [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/dom4j/DocumentException
[junit] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in URL [applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/dom4j/DocumentException
[junit] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:813)
[junit] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:769)
[junit] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:412)
[junit] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:383)
[junit] at java.security.AccessController.doPrivileged(Native Method)
spring配置信息:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="annotatedClasses">
<list>
<value>domain.FileInfo</value>
</list>
</property>
DAO方法:
public class FileDaoImplTests extends AbstractTransactionalDataSourceSpringContextTests {
public void testCreateFileInfo() throws Exception{
FileInfo inf = new FileInfo();
// Arbitrary test information for this "file"
inf.setFilename("FILE NAME");
inf.setTitle("TITLE");
inf.setComment("TEST COMMENT");
assertNull("ID shall not be zero",inf.getId());
FileDaoImpl dao = new FileDaoImpl();
// making the fileinfo persistent in database:
Integer res = dao.SaveFileInfo(inf);
assertTrue("wrong result by FileDaoImpl",res.intValue()>0);
assertNotNull("ID must be non-zero",inf.getId());
}
@Override
protected String[] getConfigLocations() {
return new String[]{"applicationContext.xml"};
}
}
原因是我没有导入spring_home\lib\dom4j\下的dom4j.jar和jta.jar,导入即可!
分享到:
相关推荐
NULL 博文链接:https://binshanf.iteye.com/blog/264937
这两个类分别处理不同的映射方式,所以默认情况下,它们不能直接共存于同一个项目中。 要让Hibernate同时支持XML和注解映射,我们可以创建一个新的配置类,该类扩展`AnnotationSessionFactoryBean`,并在需要时调用...
在探讨Hibernate中注释的几种配置方式时,我们主要聚焦于如何通过注解来定义实体类与数据库表之间的映射关系,以及如何在Spring框架下整合Hibernate,利用注解进行SessionFactory的配置。以下是对给定内容中涉及的...
通过使用Spring Data,开发者无需手动编写大量的DAO方法,只需定义好Repository接口,Spring Data就能自动生成对应的实现。 2. **数据库设计与管理**:项目使用了Oracle数据库,通过PowerDesigner工具进行数据库...
随后,我们定义了一个`sessionFactory` Bean,用于创建Hibernate的SessionFactory对象,该对象负责管理Hibernate会话并提供事务控制等功能。 #### 四、注解方式连接多个数据库的具体步骤 1. **定义数据源**:每个...
- 创建一个名为 `Employee` 的实体类,使用 JPA 注解 `@Entity` 标识为数据库表的映射对象,`@Id` 和 `@GeneratedValue` 用于指定主键和生成策略。 - 可以选择使用注解方式直接在实体类上定义映射,或者创建对应的...
在传统的XML配置中,我们需要使用`<bean>`标签来创建SessionFactory,并通过`<mapping>`标签指定映射文件。而使用注解的方式,我们可以创建`AnnotationSessionFactoryBean`,并通过`<mapping>`标签直接指定实体类,...
当使用Hibernate的注解功能时,你可以使用`AnnotationSessionFactoryBean`来替代`LocalSessionFactoryBean`,直接在实体类上标注相关的注解,无需单独的映射文件。例如: ```xml <bean id="sessionFactory" class=...
这个问题通常发生在尝试通过Spring管理Hibernate SessionFactory的创建时,而Spring无法找到对应的类实现。 #### 二、核心概念 1. **Spring ORM**:Spring框架提供了一组ORM(Object-Relational Mapping)支持服务...
或者,如果你使用Spring框架来管理Hibernate,则可以使用`AnnotationSessionFactoryBean`来配置SessionFactory: ```xml <bean id="sessionFactory" class="org.springframework.orm.hibernate5....
- 使用Spring提供的`SessionFactoryBean`创建`SessionFactory`。 - 通过Spring管理`Session`和`Transaction`。 - **具体实现**: - **配置文件**:在Spring配置文件中配置`SessionFactoryBean`。 ```xml ...
通过Spring的`AnnotationSessionFactoryBean`配置SessionFactory,这样可以在Spring容器中管理Hibernate的SessionFactory。设置数据源、映射的实体类或者映射的包,以及Hibernate的属性。 ```xml <bean id="...
在`applicationContext.xml`中,将SessionFactory引用的类改为`AnnotationSessionFactoryBean`,并设置扫描实体类的路径,例如`<property name="packagesToScan" value="com.wanshi.entity">`。 4. **自动装配**: ...
通过合理配置`PropertyPlaceholderConfigurer`,我们可以灵活地管理外部属性,使用DBCP连接池可以优化数据库连接资源,而`SessionFactory`和`HibernateTemplate`的配置则简化了数据访问层的工作。此外,不断关注...
在传统的配置中,我们通常会使用AnnotationConfiguration类来创建SessionFactory。但在Spring框架中,我们可以使用AnnotationSessionFactoryBean来实现零配置,如下所示: ```xml <!-- Hibernate配置 --> ...
如果“不能打开链接”,可能需要手动创建数据库或检查SQL语句的正确性。 - 映射文件的包名错误是常见问题,确保包路径准确无误。 - 对于“could not insert”错误,可能是因为表名冲突或不存在,需要检查表名和...
此时,可以使用`AnnotationSessionFactoryBean`来配置SessionFactory,这样就可以在Spring环境中无缝地使用Hibernate注解。 ```xml <!-- Spring 配置文件示例 --> <bean id="sessionFactory" class="org.spring...
- **配置SessionFactory**:接着需要配置Hibernate的SessionFactory,通过Spring的`LocalSessionFactoryBean`或`AnnotationSessionFactoryBean`来实现。 - **配置事务管理器**:使用Spring的`...
`AnnotationSessionFactoryBean`是Spring框架提供的用于创建Hibernate SessionFactory的Bean,该Bean支持注解配置,并能够自动扫描实体类。 - **`<bean id="sessionFactory46" class="org.springframework.orm....
这里使用的是`AnnotationSessionFactoryBean`,它是`LocalSessionFactoryBean`的一个子类,专门用于支持基于Annotation的Hibernate配置。与传统的`setMappingResources()`不同,该类支持`setAnnotatedClasses()`方法...