日期:2014-05-18  浏览次数:20669 次

Spring声明式事务问题(虚心请教)
	<!-- 事务管理器(声明式事务) -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
    
    <!-- 事务的AOP相关配置 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="interceptorPointCuts" expression="execution(* platform.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" />        
</aop:config>


我们都知道Spring提供的声明式事务对JavaEE开发带来很多方便,本人在公司有已经开发好的框架,现试着自己搭。。。
问题是:如果不用Spring的事务管理,使用HibernateTemplate操作数据库,也没有commit(),是Spring内部有事务吗?自己另配置一个声明式有什么不同?谢谢!欢迎批评!
------解决方案--------------------
spring的声明式事务是通过aop的配置实现的,HibernateTemplate是spring提供的针对hibernate的支持类,和事务管理没有什么直接关系。