以下是我的AOP xml声明。
<tx:annotation-driven proxy-target-class="true" order="100" />
我没有在服务层使用@Transactional
注释。 Still Transaction工作正常,因为我的服务层有一个拦截器。
@Transactional
???
proxy-target-class="true"
注释
我正在使用Spring -iBatis
答案 0 :(得分:0)
如果没有活动事务,您将无法访问数据库。如果您使用的是Spring的hibernate模板或JDBC模板,这些模板将为您打开Transactions。 HibernateTemplate通过HibernateTransactionManager完成此任务。
阅读HibernateTransactionManager以获取更多相关信息或跟踪代码。你会发现一个交易模板开始了。
您将使用@Transactional来定义事务边界,事务传播模式和隔离级别(如果有)。
答案 1 :(得分:0)
事务正常工作的原因是因为事务拦截器内置在Spring AOP代理中,在未经检查的异常情况下自动触发回滚。