如何在春季3使用事务管理器

时间:2011-02-28 17:35:45

标签: java spring-mvc

我尝试在spring 3 xml文件中使用它,但它给出了错误

<tx:annotation-driven transaction-manager="transactionManager" />

这需要做什么

2 个答案:

答案 0 :(得分:2)

您需要一个transactionManager,例如

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

这需要一个SessionFactory,而SessionFactory又需要一个DataSource(这里是c3p0):

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />   
  ... 
</bean>

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
   ...
</bean>

您还需要声明您的交易。我个人更喜欢declarative transaction方法,您只需使用@Transactional注释数据库例程。

答案 1 :(得分:0)

您需要将cglib-nodep-2.1_3.jar aopalliance-1.0.jar添加到您的类路径中,并将xmlns:tx =“http://www.springframework.org/schema/tx添加到您的applicationContext.xml定义< / p>