您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring @Transaction方法由同一类中的方法调用,不起作用吗?

Spring @Transaction方法由同一类中的方法调用,不起作用吗?

这是Spring AOP(动态对象和cglib)的局限性。

如果你将Spring配置为使用AspectJ处理事务,那么你的代码将起作用。

最简单且可能最好的选择是重构代码。例如,一个处理用户的类和一个处理每个用户的类。然后,Spring AOP的认事务处理将起作用。

为了使Spring能够将AspectJ用于事务,必须将模式设置为AspectJ:

<tx:annotation-driven mode="aspectj"/>

如果你使用的Spring版本低于3.0,则还必须将其添加到Spring配置中:

<bean class="org.springframework.transaction.aspectj
        .AnnotationTransactionAspect" factory-method="aspectOf">
    <property name="transactionManager" ref="transactionManager" />
</bean>
Java 2022/1/1 18:22:58 有464人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶