为什么在 Spring 中使用 AOP 进行事务管理



我正在学习AOP,并了解到这对于分离关注点很有用,例如loggingtransaction managementsecurity等。

到目前为止很高兴知道AOP.

现在,我阅读了Spring框架中的Spring事务管理,我们可以@Transactional注释。

正是这一点让我感到困惑,为什么我们要使用我们必须创建AspectsAOP,而不是使用Spring提供的注释。

例如:

@Transactional
public void dataAccessTrans() {
}

当Spring已经具有与事务相关的功能时,我们为什么要使用AOP来进行事务管理呢?

如果我们使用 AOP ,那么我们不必创建Aspect并创建将作用于该方法的advice;这难道不是让我们做手动工作,而不是由 Spring 框架本身通过它自己的注释来处理它吗?

谁能帮助我理解这一点,我无法清楚地理解。

Spring 依靠 AOP 来实现声明式事务。

Spring 框架的声明式事务管理完成 可以使用 Spring 面向方面的编程 (AOP(,尽管作为 事务方面代码随 Spring 框架一起提供 分发并可以以样板方式使用,AOP 概念确实 通常不必理解才能有效利用这一点 法典。

因此,当您使用@Transactional注释时:

@Transactional
public void dataAccessTrans() {
  ...
}

您间接使用 AOP。
因此,在大多数情况下,您永远不需要声明任何自定义方面来处理事务管理。

相关内容

  • 没有找到相关文章

最新更新