类 AnnotationTransactionAttributeSource
- java.lang.Object
- org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource
- org.springframework.transaction.annotation.AnnotationTransactionAttributeSource
- 所有已实现的接口:
Serializable,TransactionAttributeSource
public class AnnotationTransactionAttributeSource extends AbstractFallbackTransactionAttributeSource implements Serializable
Implementation of theTransactionAttributeSourceinterface for working with transaction metadata in JDK 1.5+ annotation format.This class reads Spring's JDK 1.5+
Transactionalannotation and exposes corresponding transaction attributes to Spring's transaction infrastructure. Also supports JTA 1.2'sTransactionaland EJB3'sTransactionAttributeannotation (if present). This class may also serve as base class for a custom TransactionAttributeSource, or get customized throughTransactionAnnotationParserstrategies.- 从以下版本开始:
- 1.2
- 作者:
- Colin Sampaleanu, Juergen Hoeller
- 另请参阅:
Transactional,TransactionAnnotationParser,SpringTransactionAnnotationParser,Ejb3TransactionAnnotationParser,TransactionAspectSupport.setTransactionAttributeSource(org.springframework.transaction.interceptor.TransactionAttributeSource),TransactionProxyFactoryBean.setTransactionAttributeSource(org.springframework.transaction.interceptor.TransactionAttributeSource), 序列化表格
字段概要
从类继承的字段 org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource
logger
构造器概要
构造器 构造器 说明 AnnotationTransactionAttributeSource()Create a default AnnotationTransactionAttributeSource, supporting public methods that carry theTransactionalannotation or the EJB3TransactionAttributeannotation.AnnotationTransactionAttributeSource(boolean publicMethodsOnly)Create a custom AnnotationTransactionAttributeSource, supporting public methods that carry theTransactionalannotation or the EJB3TransactionAttributeannotation.AnnotationTransactionAttributeSource(Set<TransactionAnnotationParser> annotationParsers)Create a custom AnnotationTransactionAttributeSource.AnnotationTransactionAttributeSource(TransactionAnnotationParser annotationParser)Create a custom AnnotationTransactionAttributeSource.AnnotationTransactionAttributeSource(TransactionAnnotationParser... annotationParsers)Create a custom AnnotationTransactionAttributeSource.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 protected booleanallowPublicMethodsOnly()By default, only public methods can be made transactional.protected TransactionAttributedetermineTransactionAttribute(AnnotatedElement element)Determine the transaction attribute for the given method or class.booleanequals(Object other)protected TransactionAttributefindTransactionAttribute(Class<?> clazz)Subclasses need to implement this to return the transaction attribute for the given class, if any.protected TransactionAttributefindTransactionAttribute(Method method)Subclasses need to implement this to return the transaction attribute for the given method, if any.inthashCode()booleanisCandidateClass(Class<?> targetClass)Determine whether the given class is a candidate for transaction attributes in the metadata format of thisTransactionAttributeSource.从类继承的方法 org.springframework.transaction.interceptor.AbstractFallbackTransactionAttributeSource
computeTransactionAttribute, getCacheKey, getTransactionAttribute
构造器详细资料
AnnotationTransactionAttributeSource
public AnnotationTransactionAttributeSource()
Create a default AnnotationTransactionAttributeSource, supporting public methods that carry theTransactionalannotation or the EJB3TransactionAttributeannotation.
AnnotationTransactionAttributeSource
public AnnotationTransactionAttributeSource(boolean publicMethodsOnly)
Create a custom AnnotationTransactionAttributeSource, supporting public methods that carry theTransactionalannotation or the EJB3TransactionAttributeannotation.- 参数:
publicMethodsOnly- whether to support public methods that carry theTransactionalannotation only (typically for use with proxy-based AOP), or protected/private methods as well (typically used with AspectJ class weaving)
AnnotationTransactionAttributeSource
public AnnotationTransactionAttributeSource(TransactionAnnotationParser annotationParser)
Create a custom AnnotationTransactionAttributeSource.- 参数:
annotationParser- the TransactionAnnotationParser to use
AnnotationTransactionAttributeSource
public AnnotationTransactionAttributeSource(TransactionAnnotationParser... annotationParsers)
Create a custom AnnotationTransactionAttributeSource.- 参数:
annotationParsers- the TransactionAnnotationParsers to use
AnnotationTransactionAttributeSource
public AnnotationTransactionAttributeSource(Set<TransactionAnnotationParser> annotationParsers)
Create a custom AnnotationTransactionAttributeSource.- 参数:
annotationParsers- the TransactionAnnotationParsers to use
方法详细资料
isCandidateClass
public boolean isCandidateClass(Class<?> targetClass)
从接口复制的说明:TransactionAttributeSourceDetermine whether the given class is a candidate for transaction attributes in the metadata format of thisTransactionAttributeSource.If this method returns
false, the methods on the given class will not get traversed forTransactionAttributeSource.getTransactionAttribute(java.lang.reflect.Method, java.lang.Class<?>)introspection. Returningfalseis therefore an optimization for non-affected classes, whereastruesimply means that the class needs to get fully introspected for each method on the given class individually.- 指定者:
isCandidateClass在接口中TransactionAttributeSource- 参数:
targetClass- the class to introspect- 返回:
falseif the class is known to have no transaction attributes at class or method level;trueotherwise. The default implementation returnstrue, leading to regular introspection.
findTransactionAttribute
@Nullable protected TransactionAttribute findTransactionAttribute(Class<?> clazz)
Subclasses need to implement this to return the transaction attribute for the given class, if any.- 指定者:
findTransactionAttribute在类中AbstractFallbackTransactionAttributeSource- 参数:
clazz- the class to retrieve the attribute for- 返回:
- all transaction attribute associated with this class, or
nullif none
findTransactionAttribute
@Nullable protected TransactionAttribute findTransactionAttribute(Method method)
Subclasses need to implement this to return the transaction attribute for the given method, if any.- 指定者:
findTransactionAttribute在类中AbstractFallbackTransactionAttributeSource- 参数:
method- the method to retrieve the attribute for- 返回:
- all transaction attribute associated with this method, or
nullif none
determineTransactionAttribute
@Nullable protected TransactionAttribute determineTransactionAttribute(AnnotatedElement element)
Determine the transaction attribute for the given method or class.This implementation delegates to configured
TransactionAnnotationParsersfor parsing known annotations into Spring's metadata attribute class. Returnsnullif it's not transactional.Can be overridden to support custom annotations that carry transaction metadata.
- 参数:
element- the annotated method or class- 返回:
- the configured transaction attribute, or
nullif none was found
allowPublicMethodsOnly
protected boolean allowPublicMethodsOnly()
By default, only public methods can be made transactional.