美文网首页
Spring事务之TransactionAnnotationPa

Spring事务之TransactionAnnotationPa

作者: engineer_tang | 来源:发表于2022-02-28 21:19 被阅读0次

用于解析已知事务注释类型的策略接口。AnnotationTransactionAttributeSource委托给此类解析器,以支持特定的注释类型,如Spring自己的事务性、JTA 1.2的javax。交易事务或EJB3的javax。ejb。交易属性。

1. TransactionAnnotationParser接口简介

TransactionAnnotationParser接口的实现类有Ejb3TransactionAnnotationParser、JtaTransactionAnnotationParser、SpringTransactionAnnotationParser。该接口定义如下:

public interface TransactionAnnotationParser {

    default boolean isCandidateClass(Class<?> targetClass) {
        return true;
    }

    @Nullable
    TransactionAttribute parseTransactionAnnotation(AnnotatedElement element);

}

1.1 isCandidateClass方法

确定给定类是否是此TransactionAnnotationParser注释格式中事务属性的候选类。

如果此方法返回false,则给定类上的方法将不会被#parseTransactionAnnotation内省遍历。因此,返回false是对不受影响的类的优化,而true只是意味着该类需要对给定类上的每个方法分别进行全面的内省。

1.2 parseTransactionAnnotation方法

基于该解析器理解的注释类型,解析给定方法或类的事务属性。
这实质上是将已知的事务注释解析为Spring的元数据属性类。如果方法/类不是事务性的,则返回null。

2. SpringTransactionAnnotationParser类

解析Spring事务注释的策略实现。

相关文章

网友评论

      本文标题:Spring事务之TransactionAnnotationPa

      本文链接:https://www.haomeiwen.com/subject/ubtkrrtx.html