Class JpaRepositoryConfigExtension

java.lang.Object
org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
org.springframework.data.jpa.repository.config.JpaRepositoryConfigExtension
All Implemented Interfaces:
org.springframework.data.repository.config.RepositoryConfigurationExtension

public class JpaRepositoryConfigExtension extends org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
JPA specific configuration extension parsing custom attributes from the XML namespace and EnableJpaRepositories annotation. Also, it registers bean definitions for a PersistenceAnnotationBeanPostProcessor (to trigger injection into PersistenceContext/ PersistenceUnit annotated properties and methods) as well as PersistenceExceptionTranslationPostProcessor to enable exception translation of persistence specific exceptions into Spring's DataAccessException hierarchy.
Author:
Oliver Gierke, Eberhard Wolff, Gil Markham, Thomas Darimont, Christoph Strobl, Mark Paluch
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    A RepositoryRegistrationAotProcessor implementation that maintains aot repository setup but skips domain type inspection which is handled by the core framework support for PersistenceManagedTypes.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected ClassLoader
    getConfigurationInspectionClassLoader(org.springframework.core.io.ResourceLoader loader)
     
    protected Collection<Class<? extends Annotation>>
     
    protected Collection<Class<?>>
     
     
    protected String
     
    Class<? extends org.springframework.beans.factory.aot.BeanRegistrationAotProcessor>
     
     
    void
    postProcess(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource config)
     
    void
    postProcess(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.data.repository.config.RepositoryConfigurationSource source)
     
    void
    postProcess(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.data.repository.config.XmlRepositoryConfigurationSource config)
     
    void
    registerBeansForRoot(org.springframework.beans.factory.support.BeanDefinitionRegistry registry, org.springframework.data.repository.config.RepositoryConfigurationSource config)
     

    Methods inherited from class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport

    getDefaultNamedQueryLocation, getRepositoryConfiguration, getRepositoryConfigurations, getRepositoryConfigurations, hasBean, isStrictRepositoryCandidate, registerIfNotAlreadyRegistered, registerLazyIfNotAlreadyRegistered, registerWithSourceAndGeneratedBeanName, useRepositoryConfiguration

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.springframework.data.repository.config.RepositoryConfigurationExtension

    getModuleIdentifier
  • Constructor Details

    • JpaRepositoryConfigExtension

      public JpaRepositoryConfigExtension()
  • Method Details

    • getModuleName

      public String getModuleName()
      Specified by:
      getModuleName in interface org.springframework.data.repository.config.RepositoryConfigurationExtension
      Overrides:
      getModuleName in class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
    • getRepositoryFactoryBeanClassName

      public String getRepositoryFactoryBeanClassName()
    • getModulePrefix

      protected String getModulePrefix()
      Specified by:
      getModulePrefix in class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
    • getIdentifyingAnnotations

      protected Collection<Class<? extends Annotation>> getIdentifyingAnnotations()
      Overrides:
      getIdentifyingAnnotations in class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
    • getIdentifyingTypes

      protected Collection<Class<?>> getIdentifyingTypes()
      Overrides:
      getIdentifyingTypes in class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
    • postProcess

      public void postProcess(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.data.repository.config.RepositoryConfigurationSource source)
      Specified by:
      postProcess in interface org.springframework.data.repository.config.RepositoryConfigurationExtension
      Overrides:
      postProcess in class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
    • getRepositoryAotProcessor

      public Class<? extends org.springframework.beans.factory.aot.BeanRegistrationAotProcessor> getRepositoryAotProcessor()
    • postProcess

      public void postProcess(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.data.repository.config.AnnotationRepositoryConfigurationSource config)
      Specified by:
      postProcess in interface org.springframework.data.repository.config.RepositoryConfigurationExtension
      Overrides:
      postProcess in class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
    • postProcess

      public void postProcess(org.springframework.beans.factory.support.BeanDefinitionBuilder builder, org.springframework.data.repository.config.XmlRepositoryConfigurationSource config)
      Specified by:
      postProcess in interface org.springframework.data.repository.config.RepositoryConfigurationExtension
      Overrides:
      postProcess in class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
    • registerBeansForRoot

      public void registerBeansForRoot(org.springframework.beans.factory.support.BeanDefinitionRegistry registry, org.springframework.data.repository.config.RepositoryConfigurationSource config)
      Specified by:
      registerBeansForRoot in interface org.springframework.data.repository.config.RepositoryConfigurationExtension
      Overrides:
      registerBeansForRoot in class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport
    • getConfigurationInspectionClassLoader

      protected ClassLoader getConfigurationInspectionClassLoader(org.springframework.core.io.ResourceLoader loader)
      Overrides:
      getConfigurationInspectionClassLoader in class org.springframework.data.repository.config.RepositoryConfigurationExtensionSupport