如何通过AOP处理事务管理

时间:2018-02-07 09:00:54

标签: transactions aop spring-aop

我已经读过AOP可以用于日志记录,安全性,事务管理。 即使我已经使用AOP登录Spring启动项目。但我不知道如何使用AOP进行事务管理。 任何人都可以用例子来解释这个吗?

由于

1 个答案:

答案 0 :(得分:0)

基本上,Spring中的事务主体基于Aop-proxy主体,为了理解发生了什么,您必须从文档中了解顾问和Intercepter主体:

  

顾问就像一个小小的独立方面,只有一条建议。

这意味着在使用@Transactional注释您的方法时,您要求Spring为您的目标服务(AOP主体)创建代理并创建Around advice以维护您可以自定义的事务行为

这是一种特殊的顾问,称为事务性建议,因为它在内部与TransactionInterceptor进行通信作为示例,没有什么特别的,只是它处理事务行为(仅限就绪,roolback ..)

  

TransactionInterceptor将实际的事务处理委托给PlatformTransactionManager实例,该实例可以是HibernateTransactionManager(对于单个Hibernate SessionFactory,

使用事务性建议可以将自定义顾问程序与目标方法相关联,并定义您希望执行顾问程序的顺序(在事务性建议之后或之前)

保持这种概述和思路,这里有一些链接要深入了解here是如何通过向顾问添加属性来转换服务事务的示例

我强烈建议您查看文档中的section,以便全面了解所发生的情况。