Class TransactionalRepositoryFactoryBeanSupport<T extends Repository<S,ID>,S,ID>
java.lang.Object
org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport<T,S,ID>
org.springframework.data.repository.core.support.TransactionalRepositoryFactoryBeanSupport<T,S,ID>
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryAware
,FactoryBean<T>
,InitializingBean
,ApplicationEventPublisherAware
,RepositoryFactoryInformation<S,
ID>
public abstract class TransactionalRepositoryFactoryBeanSupport<T extends Repository<S,ID>,S,ID>
extends RepositoryFactoryBeanSupport<T,S,ID>
implements BeanFactoryAware
Extension of
RepositoryFactoryBeanSupport
to add transactional capabilities to the repository proxy. Will
register a TransactionalRepositoryProxyPostProcessor
that in turn adds a TransactionInterceptor
to
the repository proxy to be created.- Author:
- Oliver Gierke
-
Field Summary
Fields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTE
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
TransactionalRepositoryFactoryBeanSupport
(Class<? extends T> repositoryInterface) Creates a newTransactionalRepositoryFactoryBeanSupport
for the given repository interface. -
Method Summary
Modifier and TypeMethodDescriptionprotected final RepositoryFactorySupport
DelegatesRepositoryFactorySupport
creation todoCreateRepositoryFactory()
and applies theTransactionalRepositoryProxyPostProcessor
to the created instance.protected abstract RepositoryFactorySupport
Creates the actualRepositoryFactorySupport
instance.void
setBeanFactory
(BeanFactory beanFactory) void
setEnableDefaultTransactions
(boolean enableDefaultTransactions) Configures whether to enable the default transactions configured at the repository base implementation class.void
setTransactionManager
(String transactionManager) Setter to configure which transaction manager to be used.Methods inherited from class org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport
addRepositoryFactoryCustomizer, afterPropertiesSet, createDefaultQueryMethodEvaluationContextProvider, getEntityInformation, getObject, getObjectType, getPersistentEntity, getQueryMethods, getRepositoryInformation, isSingleton, setApplicationEventPublisher, setBeanClassLoader, setCustomImplementation, setEvaluationContextProvider, setExposeMetadata, setLazyInit, setMappingContext, setNamedQueries, setQueryLookupStrategyKey, setRepositoryBaseClass, setRepositoryFragments
-
Constructor Details
-
TransactionalRepositoryFactoryBeanSupport
Creates a newTransactionalRepositoryFactoryBeanSupport
for the given repository interface.- Parameters:
repositoryInterface
- must not be null.
-
-
Method Details
-
setTransactionManager
Setter to configure which transaction manager to be used. We have to use the bean name explicitly as otherwise the qualifier of theTransactional
annotation is used. By explicitly defining the transaction manager bean name we favour let this one be the default one chosen.- Parameters:
transactionManager
-
-
setEnableDefaultTransactions
public void setEnableDefaultTransactions(boolean enableDefaultTransactions) Configures whether to enable the default transactions configured at the repository base implementation class.- Parameters:
enableDefaultTransactions
- the enableDefaultTransactions to set
-
createRepositoryFactory
DelegatesRepositoryFactorySupport
creation todoCreateRepositoryFactory()
and applies theTransactionalRepositoryProxyPostProcessor
to the created instance.- Specified by:
createRepositoryFactory
in classRepositoryFactoryBeanSupport<T extends Repository<S,
ID>, S, ID> - Returns:
- See Also:
-
doCreateRepositoryFactory
Creates the actualRepositoryFactorySupport
instance.- Returns:
-
setBeanFactory
- Specified by:
setBeanFactory
in interfaceBeanFactoryAware
- Overrides:
setBeanFactory
in classRepositoryFactoryBeanSupport<T extends Repository<S,
ID>, S, ID>
-