Class PersistenceExceptionTranslationPostProcessor
- All Implemented Interfaces:
Serializable, AopInfrastructureBean, Aware, BeanClassLoaderAware, BeanFactoryAware, BeanPostProcessor, InstantiationAwareBeanPostProcessor, SmartInstantiationAwareBeanPostProcessor, Ordered
Repository
annotation, adding a corresponding PersistenceExceptionTranslationAdvisor to
the exposed proxy (either an existing AOP proxy or a newly generated proxy that
implements all of the target's interfaces).
Translates native resource exceptions to Spring's
DataAccessException hierarchy.
Autodetects beans that implement the
PersistenceExceptionTranslator interface, which are subsequently asked to translate
candidate exceptions.
All of Spring's applicable resource factories (for example,
LocalContainerEntityManagerFactoryBean)
implement the PersistenceExceptionTranslator interface out of the box.
As a consequence, all that is usually needed to enable automatic exception
translation is marking all affected beans (such as Repositories or DAOs)
with the @Repository annotation, along with defining this post-processor
as a bean in the application context.
PersistenceExceptionTranslator beans are sorted according to Spring's
dependency ordering rules: see Ordered and
Order. Note that such beans will
get retrieved from any scope, not just singleton scope.
- Since:
- 2.0
- Author:
- Rod Johnson, Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class AbstractBeanFactoryAwareAdvisingPostProcessor
beanFactoryFields inherited from class AbstractAdvisingBeanPostProcessor
advisor, beforeExistingAdvisorsFields inherited from interface Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidsetBeanFactory(BeanFactory beanFactory) Callback that supplies the owning factory to a bean instance.voidsetRepositoryAnnotationType(Class<? extends Annotation> repositoryAnnotationType) Set the 'repository' annotation type.Methods inherited from class AbstractBeanFactoryAwareAdvisingPostProcessor
isEligible, prepareProxyFactoryMethods inherited from class AbstractAdvisingBeanPostProcessor
customizeProxyFactory, determineBeanType, isEligible, postProcessAfterInitialization, setBeforeExistingAdvisorsMethods inherited from class ProxyProcessorSupport
evaluateProxyInterfaces, getOrder, getProxyClassLoader, isConfigurationCallbackInterface, isInternalLanguageInterface, setBeanClassLoader, setOrder, setProxyClassLoaderMethods inherited from class ProxyConfig
copyDefault, copyFrom, isExposeProxy, isFrozen, isOpaque, isOptimize, isProxyTargetClass, setExposeProxy, setFrozen, setOpaque, setOptimize, setProxyTargetClass, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface BeanPostProcessor
postProcessBeforeInitializationMethods inherited from interface InstantiationAwareBeanPostProcessor
postProcessAfterInstantiation, postProcessBeforeInstantiation, postProcessPropertiesMethods inherited from interface SmartInstantiationAwareBeanPostProcessor
determineCandidateConstructors, getEarlyBeanReference, predictBeanType
-
Constructor Details
-
PersistenceExceptionTranslationPostProcessor
public PersistenceExceptionTranslationPostProcessor()
-
-
Method Details
-
setRepositoryAnnotationType
Set the 'repository' annotation type. The default repository annotation type is theRepositoryannotation.This setter property exists so that developers can provide their own (non-Spring-specific) annotation type to indicate that a class has a repository role.
- Parameters:
repositoryAnnotationType- the desired annotation type
-
setBeanFactory
Description copied from interface:BeanFactoryAwareCallback that supplies the owning factory to a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as
InitializingBean.afterPropertiesSet()or a custom init-method.- Specified by:
setBeanFactoryin interfaceBeanFactoryAware- Overrides:
setBeanFactoryin classAbstractBeanFactoryAwareAdvisingPostProcessor- Parameters:
beanFactory- owning BeanFactory (nevernull). The bean can immediately call methods on the factory.- See Also:
-