Spring的@Transactional在类级别适用于哪些方法?

时间:2015-01-27 12:46:05

标签: spring spring-transactions transactional

我有一个有几种方法的课。有些是公开的,有些则不是。见下面的例子。

在交易环境中将执行哪些方法?只有公开方法?

我无法在documentation中找到答案。

@Transactionl
public class A {
  public void pub() {...}
  void pack() {...}
  protected void prot() {...}
  private void pri() {...}
}

1 个答案:

答案 0 :(得分:0)

是的,只有公共方法才会显示交易设置。如果在私有,受保护或包可见方法或具有此类方法的类上放置@Transactional注释,则不会引发任何错误,只是因为这些方法不会执行事务设置

因此,在您的情况下,交易将仅在此方法上打开:

public void pub() {...}

可以找到文档here