错误信息:
NOClassDefFoundError:通常是版本问题:
版本提示:找不到org/springframework/dao/QueryTimeoutExcception
我找到一下QueryTimeoutExcception 这个类和spring的持久化有关:Spring 框架封装的和数据库有关系的包由spring-jdbc、spring-tx、spring-orm、spring-jms 和 spring-oxm 5 个模块组成,这个报错的地方是transactionManager是事务管理,所以找到和事务的具体实现类的包下,果然有,org.springframework,dao的目录结构,但是没有QueryTimeoutExcception 这个类。
于是查看对应版本:tx3.0.6 ;但是在spring的配置文件applicationContext.xml中的配置是这样的
<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- 开启注解事务 -->
<!--annotation-driven: 表示支持注解 tx表示支持事务注解在@Transactional-->
<tx:annotation-driven transaction-manager="transactionManager"/>
这个中org.springframework.orm.hibernate5.HibernateTransactionManager的版本是5.0.0。所以把spring.tx包,改为5.0.0